/* LR — Industries (07). Valores = layout aprovado. */

.lr-ind {
	--lr-ind-line: var(--lr-primary);
	--lr-ind-badge: var(--lr-mint);
	--lr-ind-badge-on: var(--lr-primary);
	--lr-ind-explore-on: var(--lr-teal);
	position: relative;
	overflow-x: clip; /* a moldura em arco sai 7% à direita; clip não quebra o sticky */
}

.lr-ind__inner {
	max-width: var(--lr-max);
	margin: 0 auto;
	padding: clamp(90px, 11vw, 160px) var(--lr-gutter);
}

.lr-ind__title {
	margin: 20px 0 0;
	max-width: 1080px;
	font-weight: 800;
	font-size: calc(clamp(38px, 4.8vw, 80px) * var(--lr-ts, 1));
	line-height: 1;
	letter-spacing: -.035em;
	color: var(--lr-primary);
	text-wrap: balance;
}

.lr-ind__body {
	margin: 28px 0 0;
	max-width: 640px;
	font-size: calc(clamp(17px, 1.35vw, 20px) * var(--lr-ts, 1));
	line-height: 1.55;
	color: var(--lr-primary);
	text-wrap: pretty;
}

.lr-ind__body p + p {
	margin-top: 1em;
}

.lr-ind__grid {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(40px, 6vw, 96px);
	margin-top: clamp(48px, 6vw, 90px);
	align-items: flex-start;
}

/* ------------------------------------------------------------------ image column */

.lr-ind__media {
	flex: 1 1 380px;
	min-width: 0;
	order: 2;
	position: sticky;
	top: 120px;
	padding: 6% 7% 0 0;
}

.lr-ind__frame-wrap {
	position: relative;
}

.lr-ind__frame {
	position: absolute;
	left: 7%;
	top: -6%;
	width: 100%;
	height: 100%;
	border-radius: 999px 999px 0 0;
	background-color: var(--lr-ind-frame, var(--lr-mint));
	transition: background-color .8s ease;
}

.lr-ind__box {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background-color: var(--lr-primary);
}

.lr-ind__photo {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity .8s ease, transform 1.2s var(--lr-ease);
}

.lr-ind__photo.is-active {
	opacity: 1;
	transform: scale(1);
	z-index: 1;
}

.lr-ind__photo .lr-ind__img,
.lr-ind__photo .lr-ind__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.lr-ind__video {
	z-index: 1;
}

.lr-ind__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 32px;
}

.lr-ind__hint {
	max-width: 260px;
	font-family: ui-monospace, Menlo, monospace;
	font-size: calc(12px * var(--lr-ts, 1));
	line-height: 1.6;
	color: var(--lr-mint);
}

/* overlays */

.lr-ind__ovs {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.lr-ind__ovs .lr-layer {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s ease 0s, transform 1s var(--lr-ease) 0s;
}

.lr-ind__ovs.is-active .lr-layer {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .2s;
}

.lr-ind__ovs.is-active .lr-layer:nth-child(2) { transition-delay: .35s; }
.lr-ind__ovs.is-active .lr-layer:nth-child(3) { transition-delay: .5s; }
.lr-ind__ovs.is-active .lr-layer:nth-child(4) { transition-delay: .65s; }
.lr-ind__ovs.is-active .lr-layer:nth-child(n+5) { transition-delay: .8s; }

/* ------------------------------------------------------------------ list */

.lr-ind__list {
	flex: 1.3 1 480px;
	min-width: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1.5px solid var(--lr-ind-line);
}

.lr-ind__li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Especificidade extra: neutraliza estilos de botão/link do tema. */
.lr-w .lr-ind__row,
.lr-w .lr-ind__row:hover,
.lr-w .lr-ind__row:focus {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin: 0;
	border: 0;
	border-top: 1.5px solid var(--lr-ind-line);
	border-radius: 0;
	background: transparent;
	padding: clamp(20px, 2.4vw, 30px) 0;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	white-space: normal;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--lr-primary);
}

.lr-ind__num {
	flex: 0 0 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background-color: var(--lr-ind-badge);
	font-size: calc(13px * var(--lr-ts, 1));
	font-weight: 800;
	line-height: 1;
	color: var(--lr-primary);
	transition: background-color .45s, color .45s;
}

.lr-ind__name {
	flex: 1;
	min-width: 220px;
	font-weight: 500;
	font-size: calc(clamp(26px, 3vw, 46px) * var(--lr-ts, 1));
	line-height: 1.05;
	letter-spacing: -.03em;
	color: var(--lr-primary);
	transition: transform .6s var(--lr-ease);
}

.lr-ind__explore {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	font-size: calc(14px * var(--lr-ts, 1));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .06em;
	color: var(--lr-primary);
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 2px;
	transition: gap .45s var(--lr-ease), background-size .45s, color .45s;
}

.lr-ind__row.is-active .lr-ind__num {
	background-color: var(--lr-ind-badge-on);
	color: var(--lr-white);
}

.lr-ind__row.is-active .lr-ind__name {
	font-weight: 800;
	transform: translateX(10px);
}

.lr-ind__row.is-active .lr-ind__explore {
	gap: 14px;
	color: var(--lr-ind-explore-on);
	background-size: 100% 2px;
}

/* ------------------------------------------------------------------ narrow */

/* Enquadramento por foto (Elementor: --lr-fx / --lr-fy / --lr-fz por setor e dispositivo). */
.lr-ind .lr-ind__photo .lr-ind__img,
.lr-ind .lr-ind__photo .lr-ind__video,
.lr-ind .lr-ind__pimg {
	object-position: var(--lr-fx, 50%) var(--lr-fy, 50%);
	transform-origin: var(--lr-fx, 50%) var(--lr-fy, 50%);
	scale: var(--lr-fz, 1);
}

/* Painel por setor (acordeão) — só no celular/tablet estreito. */
.lr-ind__panel {
	display: none;
}

@media (max-width: 899px) {
	/* A foto única no topo sai: cada setor mostra a sua foto abaixo do nome ao ser tocado. */
	.lr-ind__media {
		display: none;
	}

	.lr-ind__panel {
		display: grid;
		grid-template-rows: 0fr;
	}

	.lr-ind__li.is-open .lr-ind__panel {
		grid-template-rows: 1fr;
		transition: grid-template-rows .5s var(--lr-ease);
	}

	.lr-ind__panel-in {
		min-height: 0;
		overflow: hidden;
	}

	.lr-ind__pwrap {
		position: relative;
		margin: 6px 0 22px;
		padding: 6% 7% 0 0;
	}

	.lr-ind__pbox {
		position: relative;
		aspect-ratio: 4 / 3;
		overflow: hidden;
		background-color: var(--lr-primary);
	}

	.lr-ind .lr-ind__pimg {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
	}

	.lr-ind__li.is-open .lr-ind__pimg {
		animation: lr-ind-panel-in .7s var(--lr-ease) both;
	}

	@keyframes lr-ind-panel-in {
		from {
			opacity: 0;
			transform: scale(1.06);
		}

		to {
			opacity: 1;
			transform: none;
		}
	}

	.lr-ind__box {
		aspect-ratio: 4 / 3;
	}

	.lr-ind__ov--extra {
		display: none !important;
	}
}

/* Desktop/notebook (≥ 1000px): colunas sempre lado a lado (em ~1000–1080px a soma das
 * bases não cabia e o bloco empilhava como no tablet). */
@media (min-width: 1000px) {
	.lr-ind__grid {
		flex-wrap: nowrap;
	}
}
