/**
 * Feature List — lista de itens numerados.
 *
 * Dois layouts, os mesmos que o site usava no "Arrox :: Feature List":
 *
 *   --services  linhas grandes: número | título | descrição. No hover a
 *               linha vira pílula e revela a cor de fundo por trás dos
 *               cantos, e o número desliza para a direita.
 *   --rows      linhas compactas: título | descrição | número. No hover a
 *               linha escurece e título e número se aproximam.
 *
 * Tudo que o painel controla passa por custom properties da raiz. Os
 * valores padrão abaixo reproduzem as medidas do tema original, faixa por
 * faixa, e o controle do painel só sobrescreve quando é preenchido.
 *
 * @package Brz_Elements
 * @since   1.4.0
 */

.brz-feature-list {
	--brzfl-bg: transparent;
	--brzfl-hover-bg: color-mix(in srgb, currentColor 30%, transparent);
	--brzfl-border: color-mix(in srgb, currentColor 12%, transparent);
	--brzfl-duration: 0.5s;
}

.brz-feature-list__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.brz-feature-list__box {
	display: grid;
	align-items: start;
	color: inherit;
	text-decoration: none;
	background-color: var(--brzfl-bg);
	transition: border-radius var(--brzfl-duration), background-color var(--brzfl-duration);
}

.brz-feature-list__number,
.brz-feature-list__title,
.brz-feature-list__text {
	margin: 0;
	color: inherit;
	transition: transform var(--brzfl-duration);
}

/* Blindagem contra o a:hover global do tema (ver brz-link-text.css). */
a.brz-feature-list__box:hover,
a.brz-feature-list__box:focus {
	color: inherit;
}

.brz-feature-list__box:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}

/* Services ------------------------------------------------------------- */

.brz-feature-list--services {
	--brzfl-col-number: 215px;
	--brzfl-col-text: 395px;
	--brzfl-pad-top: 59px;
	--brzfl-pad-bottom: 72px;
	--brzfl-radius: 120px;
	--brzfl-shift: 60px;
	--brzfl-bg: #111111;
	border-top: 1px solid var(--brzfl-border);
}

.brz-feature-list--services .brz-feature-list__item {
	border-bottom: 1px solid var(--brzfl-border);
	background-color: var(--brzfl-hover-bg);
}

.brz-feature-list--services .brz-feature-list__box {
	grid-template-columns: var(--brzfl-col-number) 1fr var(--brzfl-col-text);
	gap: 20px 50px;
	padding-top: var(--brzfl-pad-top);
	padding-bottom: var(--brzfl-pad-bottom);
}

.brz-feature-list--services .brz-feature-list__number {
	margin-top: 12px;
	font-size: 18px;
	line-height: 1;
}

.brz-feature-list--services .brz-feature-list__title {
	font-family: "Sequel Sans Roman Body", sans-serif;
	font-size: 80px;
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.07em;
}

.brz-feature-list--services .brz-feature-list__text {
	max-width: 370px;
	margin-top: 7px;
	font-size: 20px;
	line-height: 1.4;
}

.brz-feature-list--services .brz-feature-list__item:hover .brz-feature-list__box {
	border-radius: var(--brzfl-radius);
}

.brz-feature-list--services .brz-feature-list__item:hover .brz-feature-list__number {
	transform: translateX(var(--brzfl-shift));
}

@media (min-width: 1920px) {
	.brz-feature-list--services {
		--brzfl-col-text: 595px;
	}

	.brz-feature-list--services .brz-feature-list__title {
		font-size: 110px;
	}
}

@media (max-width: 1399px) {
	.brz-feature-list--services {
		--brzfl-col-number: 165px;
	}

	.brz-feature-list--services .brz-feature-list__title {
		font-size: 60px;
	}
}

@media (max-width: 1199px) {
	.brz-feature-list--services {
		--brzfl-col-number: 115px;
		--brzfl-col-text: 375px;
		--brzfl-pad-top: 49px;
		--brzfl-pad-bottom: 52px;
		--brzfl-radius: 80px;
	}

	.brz-feature-list--services .brz-feature-list__title {
		font-size: 50px;
	}
}

@media (max-width: 991px) {
	.brz-feature-list--services {
		--brzfl-col-number: 55px;
		--brzfl-col-text: 285px;
		--brzfl-pad-top: 39px;
		--brzfl-pad-bottom: 42px;
		--brzfl-radius: 0px;
		--brzfl-shift: 0px;
	}

	.brz-feature-list--services .brz-feature-list__title {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.brz-feature-list--services .brz-feature-list__box {
		grid-template-columns: 1fr;
	}

	.brz-feature-list--services .brz-feature-list__title {
		font-size: 35px;
	}
}

/* Rows ----------------------------------------------------------------- */

.brz-feature-list--rows {
	--brzfl-col-title: 280px;
	--brzfl-pad-top: 30px;
	--brzfl-pad-bottom: 30px;
	--brzfl-shift: 30px;
	--brzfl-hover-bg: #171717;
	--brzfl-border: rgb(41, 41, 41);
}

.brz-feature-list--rows .brz-feature-list__box {
	grid-template-columns: var(--brzfl-col-title) 1fr 100px;
	gap: 20px 50px;
	align-items: center;
	padding-top: var(--brzfl-pad-top);
	padding-bottom: var(--brzfl-pad-bottom);
	border-bottom: 1px solid var(--brzfl-border);
}

.brz-feature-list--rows .brz-feature-list__title,
.brz-feature-list--rows .brz-feature-list__number {
	font-size: 18px;
	line-height: 1;
}

.brz-feature-list--rows .brz-feature-list__text {
	font-size: 18px;
	line-height: 1;
}

.brz-feature-list--rows .brz-feature-list__number {
	text-align: right;
}

.brz-feature-list--rows .brz-feature-list__item:hover .brz-feature-list__box {
	background-color: var(--brzfl-hover-bg);
}

.brz-feature-list--rows .brz-feature-list__item:hover .brz-feature-list__title {
	transform: translateX(var(--brzfl-shift));
}

.brz-feature-list--rows .brz-feature-list__item:hover .brz-feature-list__number {
	transform: translateX(calc(var(--brzfl-shift) * -1));
}

@media (min-width: 1920px) {
	.brz-feature-list--rows {
		--brzfl-pad-top: 40px;
		--brzfl-pad-bottom: 40px;
	}

	.brz-feature-list--rows .brz-feature-list__text {
		font-size: 24px;
	}
}

@media (max-width: 1199px) {
	.brz-feature-list--rows {
		--brzfl-col-title: 180px;
	}
}

@media (max-width: 767px) {
	.brz-feature-list--rows {
		--brzfl-shift: 0px;
	}

	.brz-feature-list--rows .brz-feature-list__box {
		grid-template-columns: 1fr 1fr;
	}

	.brz-feature-list--rows .brz-feature-list__text {
		order: 3;
		grid-column: span 2;
	}

	.brz-feature-list--rows .brz-feature-list__item:hover .brz-feature-list__box {
		background-color: transparent;
	}
}

/* Entrada ---------------------------------------------------------------
 *
 * As classes is-brz-animated e is-brz-visible são adicionadas pelo
 * brz-reveal.js, nunca pelo PHP: sem JS a lista simplesmente nasce
 * visível.
 */

.brz-feature-list__item.is-brz-animated {
	opacity: 0;
	transform: translateY(50px);
}

.brz-feature-list__item.is-brz-animated.is-brz-visible {
	opacity: 1;
	transform: none;
	transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
	.brz-feature-list__box,
	.brz-feature-list__number,
	.brz-feature-list__title,
	.brz-feature-list__text {
		transition: none;
	}
}

/* Editor ---------------------------------------------------------------- */

.brz-feature-list__empty {
	padding: 24px;
	border: 1px dashed currentColor;
	text-align: center;
	opacity: 0.6;
}
