/*
 * Shop About (design-shop 6.9) and Contacts (6.10 / T.3) pages, plus the
 * FSC certificate image of the generic text page (6.11).
 */

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

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

.lvt-sp-about__media {
	flex: 0 0 50%;
	min-width: 0;
	padding-right: 44px;
}

.lvt-sp-about__img {
	display: block;
	width: 100%;
	height: auto;
}

.lvt-sp-about__text {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	padding: 0 5% 5%;
	color: var(--lvt-c-text);
}

.lvt-sp-about__title {
	margin: 0;
	color: var(--lvt-c-heading);
	font-size: 34px;
	font-weight: 600;
	line-height: 34px;
	letter-spacing: -.01px;
}

.lvt-sp-about__text p {
	margin: 0;
	font-size: 16px;
	line-height: 24px;
}

.lvt-sp-about__numbers {
	margin: 60px 0 0;
	padding: 10px;
	color: var(--lvt-c-heading);
	font-size: 34px;
	font-weight: 600;
	line-height: 40px;
	letter-spacing: -.01px;
	text-align: center;
}

.lvt-sp-counters {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lvt-sp-counters__item {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	margin: 0;
	text-align: center;
}

.lvt-sp-counters__label {
	color: var(--lvt-c-text);
	font-size: 16px;
	line-height: 24px;
}

.lvt-sp-counters__value {
	font-size: 40px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: -.01px;
}

.lvt-sp-counters__value sup {
	top: 0;
	font-size: 20px;
	line-height: 20px;
	vertical-align: super;
}

/*
 * As the live Elementor row: 10px inside the row, 20px between the boxes and
 * the divider is the right edge of the box itself (not centred in the gap).
 */
.lvt-sp-counters--about {
	gap: 20px;
	margin-top: 6px;
	padding: 10px;
}

.lvt-sp-counters--about .lvt-sp-counters__item:not(:last-child) {
	border-right: 1px solid #E5CFC7;
}

.lvt-sp-counters--about .lvt-sp-counters__value {
	color: var(--lvt-c-primary);
}

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

	.lvt-sp-about__media {
		display: flex;
		justify-content: center;
		min-height: 323px;
		margin-top: 20px;
		padding: 0;
	}

	.lvt-sp-about__img {
		width: auto;
		max-width: 100%;
		height: auto;
		align-self: flex-start;
	}

	.lvt-sp-about__text {
		padding: 0;
		text-align: center;
	}

	.lvt-sp-about__text p {
		padding: 0 5%;
	}

	/* Elementor: 20px gap between the wrapped boxes + 20px margin on the second row. */
	.lvt-sp-counters--about {
		flex-wrap: wrap;
	}

	.lvt-sp-counters--about .lvt-sp-counters__item:nth-child(2n) {
		border-right: 0;
	}

	.lvt-sp-counters--about .lvt-sp-counters__item:nth-child(n+3) {
		margin-top: 20px;
	}
}

/* Two boxes per row: live's tablet widths are 48% (left) and 49% (right) of the row. */
@media (min-width: 768px) and (max-width: 1024px) {
	.lvt-sp-counters--about .lvt-sp-counters__item {
		flex: 0 0 48%;
	}

	.lvt-sp-counters--about .lvt-sp-counters__item:nth-child(2n) {
		flex-basis: 49%;
	}
}

@media (max-width: 767px) {
	.lvt-sp-about__intro {
		padding-top: 0;
	}

	.lvt-sp-about__media {
		min-height: 173px;
		margin-top: 0;
	}

	.lvt-sp-about__text {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.lvt-sp-about__text p {
		font-size: 14px;
		line-height: 20px;
	}

	.lvt-sp-about__numbers {
		font-size: 26px;
		line-height: 32px;
	}

	.lvt-sp-counters--about {
		flex-direction: column;
		gap: 20px;
	}

	.lvt-sp-counters--about .lvt-sp-counters__item {
		flex: 0 0 auto;
		border-right: 0 !important;
	}

	.lvt-sp-counters--about .lvt-sp-counters__item:nth-child(n+2) {
		margin-top: 20px;
	}
}

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

.lvt-sp-contacts__photo {
	min-height: 228px;
	margin-bottom: 70px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.lvt-sp-contacts__grid {
	display: flex;
	padding: 0 10px;
}

.lvt-sp-contacts__col {
	flex: 0 0 50%;
	min-width: 0;
	padding: 10px 64px 20px 50px;
	border-right: 1px solid rgba(0, 0, 0, .1);
}

.lvt-sp-contacts__col--info {
	padding: 10px 50px 20px 64px;
	border-right-color: #E8E8E8;
	color: var(--lvt-c-text);
}

.lvt-sp-contacts__title {
	margin: 0 0 20px;
	color: var(--lvt-c-heading);
	font-size: 26px;
	font-weight: 600;
	line-height: 32px;
}

.lvt-sp-contacts__title--contacts {
	margin-top: 48px;
}

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

.lvt-sp-contacts__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lvt-sp-contacts__line {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 24px;
}

.lvt-sp-contacts__line:not(:last-child) {
	padding-bottom: 1px;
}

.lvt-sp-contacts__line:not(:first-child) {
	margin-top: 1px;
}

.lvt-sp-contacts__line a {
	display: flex;
	align-items: center;
	color: var(--lvt-c-link);
	transition: color .3s ease;
}

.lvt-sp-contacts__team {
	margin: 24px 0 0;
}

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

.lvt-sp-contacts__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 14px;
	margin-right: 6px;
	color: var(--lvt-c-primary);
}

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

.lvt-sp-contacts__map {
	margin-top: 80px;
	line-height: 0;
}

.lvt-sp-contacts__frame {
	display: block;
	width: 100%;
	height: 500px;
	border: 0;
	filter: brightness(100%) contrast(102%) saturate(0%);
}

@media (max-width: 1024px) {
	.lvt-sp-contacts__photo {
		min-height: 140px;
	}

	.lvt-sp-contacts__grid {
		padding: 10px; /* live: 0 10px + the inner row's 10px 0 */
	}

	.lvt-sp-contacts__col,
	.lvt-sp-contacts__col--info {
		padding: 10px;
	}

	.lvt-sp-contacts__col--info {
		margin-bottom: 30px;
		border-right: 0;
	}
}

@media (max-width: 767px) {
	.lvt-sp-contacts__photo {
		min-height: 100px;
	}

	.lvt-sp-contacts__grid {
		flex-direction: column;
		padding: 0;
	}

	.lvt-sp-contacts__col {
		flex: 0 0 auto;
		padding: 0;
		border: 0;
	}

	.lvt-sp-contacts__col--info {
		padding: 10px 0 0;
	}

	.lvt-sp-contacts__company,
	.lvt-sp-contacts__line {
		font-size: 14px;
		line-height: 20px;
	}

	.lvt-sp-contacts__title {
		font-size: 22px;
	}
}

/* FSC certificate page ---------------------------------------------------- */

.lvt-prose .lvt-fsc-image {
	margin: 0 auto;
	padding: 10px;
	text-align: center;
}

/* At most 800px high (as on the company site), any orientation, never stretched. */
.lvt-prose .lvt-fsc-image img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 800px;
}

/* Text pages: WP headings in the terms keep the 58px line on phones (live) */

@media (max-width: 767px) {
	.lvt-prose h1.wp-block-heading {
		line-height: 58px;
	}
}
