/*
 * Company site content pages: About (T2), Products (T3), product details and
 * Log purchase (T4/T6), Sauna materials (T5), Contacts (T7).
 * Sizes measured on live at 1440 / 1024 / 768 / 390 (design-main.md).
 */

/* Text written in the editor (paragraphs, lists, links) ------------------- */

.lvt-mp-text p,
.lvt-mp-text ul,
.lvt-mp-text ol {
	margin: 0 0 20px;
}

.lvt-mp-text ul {
	padding-left: 17px;
	list-style: disc;
}

.lvt-mp-text li {
	margin-bottom: 10px;
}

.lvt-mp-text li:last-child {
	margin-bottom: 0;
}

.lvt-mp-text > :last-child {
	margin-bottom: 0;
}

.lvt-mp-text a {
	color: var(--lvt-c-link);
}

.lvt-mp-text a:hover {
	color: var(--lvt-c-primary);
}

.lvt-mp-phone-only {
	display: none;
}

/* Statistic boxes (templates/parts/main-stats.php) ------------------------- */

.lvt-stats {
	display: flex;
}

.lvt-stat {
	flex: 1 1 0;
	min-width: 0;
	border-right: 1px solid #E5CFC7;
	text-align: center;
}

.lvt-stat:last-child {
	border-right: 0;
}

.lvt-stat__value {
	margin: 0;
	color: var(--lvt-c-primary);
	font-family: var(--lvt-font-heading);
	font-size: 40px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: -0.01px;
}

.lvt-stat__value sup {
	font-size: 20px;
	line-height: 20px;
	vertical-align: super;
}

.lvt-stat__label {
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 24px;
}

/* About us ------------------------------------------------------------------ */

.lvt-about__intro {
	display: flex;
	padding-top: 10px;
}

.lvt-about__media {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	min-width: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Desktop: the photo behind the video is only used on tablets and phones. */
@media (min-width: 1025px) {
	.lvt-about__media {
		background-image: none !important;
	}
}

.lvt-about__video {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #000000;
}

.lvt-about__player {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lvt-about__body {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	padding: 0 5% 5%;
}

.lvt-about__title {
	margin: 0;
	font-size: 34px;
	line-height: 34px;
}

.lvt-about__numbers-title {
	margin: 60px 0 0;
	padding: 10px;
	text-align: center;
}

.lvt-stats--about {
	gap: 20px;
	margin-top: 6px;
	padding: 10px;
}

/* Products overview ---------------------------------------------------------- */

.lvt-products__row {
	display: flex;
	margin-top: var(--lvt-section-gap);
	padding: 10px 10px 10px 0;
}

/* Padding, not margin: a margin would merge with the 40px under the title band. */
.lvt-products {
	padding-top: 40px;
}

.lvt-products__row:first-child {
	margin-top: 0;
}

.lvt-products__media {
	flex: 0 0 50%;
	min-width: 0;
}

.lvt-products__row--img-left .lvt-products__media {
	padding-right: 50px;
}

.lvt-products__row--img-right .lvt-products__media {
	order: 2;
	padding-left: 50px;
}

.lvt-products__media img {
	display: block;
	width: 100%;
	height: auto;
}

.lvt-products__body {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	min-width: 0;
	padding: 10px;
}

.lvt-products__title {
	margin: 0;
}

.lvt-products__btn {
	border-width: 0;
}

/* Product details and Log purchase ----------------------------------------- */

.lvt-detail__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.lvt-detail__photos {
	display: flex;
	flex-wrap: wrap;
}

.lvt-detail__photos--inset {
	padding: 10px;
}

.lvt-detail__photo {
	flex: 0 0 50%;
	min-width: 0;
	padding: 10px;
}

.lvt-detail__photo img {
	display: block;
	width: 100%;
	height: auto;
}

/* Both photos at the same height (live: 395px crops), never wider than the column, centred in it (live). */
.lvt-detail__photos--height .lvt-detail__photo img {
	width: auto;
	max-width: 100%;
	max-height: 395px;
	margin: 0 auto;
}

/* Sauna materials ------------------------------------------------------------ */

.lvt-sauna__intro,
.lvt-sauna__outro {
	padding: 10px;
}

.lvt-sauna__group {
	margin-top: 40px;
	padding: 10px;
}

.lvt-sauna__bar {
	margin: 0;
	padding: 10px;
	background: var(--lvt-c-primary);
	color: #FFFFFF;
	font-size: 26px;
	line-height: 40px;
}

.lvt-sauna__cards {
	display: flex;
	flex-wrap: wrap;
}

.lvt-sauna__card {
	display: flex;
	flex: 0 0 50%;
	min-width: 0;
}

.lvt-sauna__card--warm {
	background: var(--lvt-c-bg-warm);
}

.lvt-sauna__photo {
	flex: 0 0 50%;
	min-width: 0;
	padding: 10px;
}

.lvt-sauna__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.lvt-sauna__spec {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 10px;
	text-align: center;
}

/* Contacts ------------------------------------------------------------------ */

.lvt-contacts__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: var(--lvt-section-gap);
}

.lvt-contacts__place {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	padding-left: 50px;
}

.lvt-contacts__title {
	margin: 0;
	font-size: 26px;
	line-height: 32px;
}

.lvt-contacts__photo {
	min-height: 280px;
	background-color: #E9E4E0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.lvt-contacts__line + .lvt-contacts__line {
	margin-top: 2px;
}

.lvt-contacts__line,
.lvt-contacts__line > a {
	display: flex;
	align-items: center;
	color: var(--lvt-c-link);
}

.lvt-contacts__line > a:hover {
	color: var(--lvt-c-primary);
}

.lvt-contacts__icon {
	display: flex;
	flex: none;
	margin-right: 3.5px;
	color: var(--lvt-c-primary);
}

.lvt-contacts__icon .lvt-icon {
	width: 14px;
	height: 14px;
}

.lvt-contacts__text {
	padding-left: 5px;
}

/* Grey map across the whole width; the top strip (59px) hides the map title bar. */
.lvt-contacts-map {
	position: relative;
	margin-top: 30px;
	background: var(--lvt-c-bg);
}

.lvt-contacts-map__cover {
	position: absolute;
	top: -1px;
	right: 0;
	left: 0;
	z-index: 2;
	height: 60px;
	background: var(--lvt-c-bg);
}

.lvt-contacts-map__frame {
	display: block;
	width: 100%;
	height: 510px;
	border: 0;
	filter: grayscale(100%);
}

/* Tablet (768-1024) ----------------------------------------------------------- */

@media (max-width: 1024px) {
	.lvt-about__intro {
		flex-direction: column-reverse;
	}

	.lvt-about__media {
		flex: 0 0 auto;
		min-height: 323px;
		margin-top: 20px;
	}

	.lvt-about__body {
		flex: 0 0 auto;
		padding: 0;
	}

	.lvt-about__title {
		text-align: center;
	}

	/* Live LV About text keeps an 11% right indent on tablets and phones (EN does not). */
	.lvt-lang-lv .lvt-about__text {
		padding-right: 11%;
	}

	.lvt-stats--about {
		flex-wrap: wrap;
	}

	.lvt-stats--about .lvt-stat:nth-child(2n+1) {
		flex: 0 0 48%;
	}

	.lvt-stats--about .lvt-stat:nth-child(2n) {
		flex: 0 0 49%;
		border-right: 0;
	}

	.lvt-stats--about .lvt-stat:nth-child(n+3) {
		margin-top: 20px;
	}

	.lvt-products__row--img-left .lvt-products__media,
	.lvt-products__row--img-right .lvt-products__media {
		padding: 0;
	}

	.lvt-contacts__place {
		padding-left: 0;
	}

	.lvt-contacts__photo {
		min-height: 200px;
	}
}

/* Phone (<= 767) --------------------------------------------------------------- */

@media (max-width: 767px) {
	.lvt-mp-phone-only {
		display: block;
	}

	.lvt-about__intro {
		padding-top: 0;
	}

	.lvt-about__media {
		min-height: 173px;
	}

	.lvt-about__body {
		margin-top: 20px;
	}

	.lvt-stats--about .lvt-stat:nth-child(n) {
		flex: 0 0 100%;
		border-right: 0;
	}

	.lvt-stats--about .lvt-stat:nth-child(n+2) {
		margin-top: 20px;
	}

	.lvt-products__row {
		flex-direction: column;
	}

	.lvt-products {
		padding-top: 0;
	}

	.lvt-products__row--img-right .lvt-products__media {
		order: 0;
	}

	.lvt-products__btn {
		border-width: 1px;
	}

	.lvt-products__btn.lvt-btn:not(.lvt-btn--sm):not(.lvt-btn--md) {
		padding: 12px 24px;
	}

	.lvt-detail__photo {
		flex: 0 0 100%;
	}

	.lvt-sauna__bar {
		line-height: 32px;
	}

	.lvt-sauna__card {
		flex: 0 0 100%;
		flex-direction: column;
	}

	.lvt-sauna__photo,
	.lvt-sauna__spec {
		flex: 0 0 auto;
	}

	.lvt-contacts__grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 40px;
	}

	.lvt-contacts__place:nth-child(2n+3) {
		margin-top: 56px;
	}

	.lvt-contacts__title {
		font-size: 22px;
		line-height: 32px;
	}
}
