/**
 * Duplo D | Camada de rolagem essencial.
 *
 * Tudo aqui vale SO com body.dd-sc (o duplod-scroll.php poe a classe quando a
 * camada esta ligada). Sem a classe este arquivo nem e carregado.
 *
 * Cores sao literais ou tokens --dd-* do :root do style.css: este arquivo
 * carrega em artigos, que nao tem os --neutral-* da v2.
 */

/* ======================================================================
   1. Entrada dos itens (home, abaixo do hero)

   O JS poe .dd-sc-pre so em quem esta abaixo da dobra, e .dd-sc-in quando o
   item aparece; depois da transicao tira as duas classes. Nada nasce
   escondido no HTML: sem JS, com JS quebrado ou impresso, tudo aparece.
   So transform e opacity: nao mexe em layout.
   ====================================================================== */

@media (prefers-reduced-motion: no-preference) {

	.dd-sc-pre {
		opacity: 0;
		transform: translate3d(0, 14px, 0);
	}

	.dd-sc-pre.dd-sc-in {
		opacity: 1;
		transform: none;
		transition:
			opacity .5s cubic-bezier(.22, 1, .36, 1) var(--dd-sc-d, 0ms),
			transform .6s cubic-bezier(.22, 1, .36, 1) var(--dd-sc-d, 0ms);
	}
}

@media print {

	.dd-sc-pre {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* As secoes que ganham entrada por item largam a entrada de secao inteira
   (o dd-rise do style.css, parte 7). Dois movimentos no mesmo bloco, um
   dentro do outro, liam como tremor. FAQ, blog e fecho ficam com o dd-rise:
   nao tem item para escalonar (o blog tem Isotope, que usa transform).

   O #Content na frente nao e enfeite: a regra do tema e
   `#Content .mcb-section:not(:first-child)`, e um id ganha de qualquer
   quantidade de classes. Sem ele este bloco inteiro nao tem efeito nenhum,
   e o computed style continua dizendo `dd-rise`. */
body.dd-sc.home #Content .mcb-section.dd-v2-numeros,
body.dd-sc.home #Content .mcb-section.dd-v2-frentes,
body.dd-sc.home #Content .mcb-section.dd-v2-escuro,
body.dd-sc.home #Content .mcb-section.dd-process,
body.dd-sc.home #Content .mcb-section.dd-v2-limites-sec,
body.dd-sc.home #Content .mcb-section.dd-v2-brasil,
body.dd-sc.home #Content .mcb-section.dd-v2-clientes {
	animation: none;
}

/* ======================================================================
   2. Numeros que contam

   O texto real fica no DOM e ocupa o lugar (largura final, sem empurrar o
   vizinho); a copia animada, aria-hidden, vai por cima. tabular-nums evita
   que 1 e 8 tenham larguras diferentes durante a contagem.
   ====================================================================== */

.dd-count {
	position: relative;
}

.dd-count__real {
	opacity: 0;
}

.dd-count__live {
	position: absolute;
	left: 0;
	top: 0;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

@media print {

	.dd-count__real {
		opacity: 1;
	}

	.dd-count__live {
		display: none;
	}
}

/* ======================================================================
   3. Artigos: barra de leitura e sumario lateral
   ====================================================================== */

/* O JS manda na barra (mede o artigo, nao a pagina). O CSS de scroll
   timeline do tema fica so como reserva quando o JS nao roda. */
.dd-sc .dd-read-progress {
	animation: none;
}

.dd-toc {
	display: none;
}

@media (min-width: 1240px) {

	/* No canto direito, fora da coluna do texto. Fechado sao so riscos, um por
	   secao, e o da secao atual fica mais comprido; com mouse ou foco por cima
	   abre um cartao com os titulos. Nao cobre o texto: so abre sob demanda. */
	.dd-toc {
		display: block;
		position: fixed;
		right: 12px;
		top: 50%;
		z-index: 90;
		width: 34px;
		transform: translateY(-50%);
		font-family: "Poppins", system-ui, sans-serif;
		transition: opacity .25s ease;
	}

	.dd-toc.is-off {
		opacity: 0;
		pointer-events: none;
	}

	.dd-toc__title {
		display: none;
		margin: 0;
		padding: 0 0 8px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .06em;
		line-height: 16px;
		text-transform: uppercase;
		color: var(--dd-ink-2, #544D4D);
	}

	.dd-toc ol {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 2px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.dd-toc li {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.dd-toc a {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 12px;
		min-height: 24px;
		font-size: 13px;
		line-height: 18px;
		text-decoration: none;
		color: var(--dd-ink-2, #544D4D);
	}

	.dd-toc__tick {
		order: 2;
		flex: 0 0 auto;
		width: 14px;
		height: 2px;
		border-radius: 2px;
		background: #B4ADAD;
		transition: width .22s cubic-bezier(.22, 1, .36, 1), background-color .22s ease;
	}

	.dd-toc a:hover .dd-toc__tick,
	.dd-toc a:focus-visible .dd-toc__tick {
		width: 22px;
		background: var(--dd-teal-600, #327671);
	}

	.dd-toc a.is-active .dd-toc__tick {
		width: 28px;
		background: var(--dd-teal-600, #327671);
	}

	.dd-toc__label {
		order: 1;
		display: none;
		flex: 1 1 auto;
		gap: 10px;
		text-align: left;
	}

	.dd-toc__num {
		flex: 0 0 1.4em;
		font-weight: 600;
		font-variant-numeric: tabular-nums;
		color: var(--dd-teal-700, #276360);
	}

	.dd-toc a.is-active .dd-toc__txt {
		font-weight: 500;
		color: var(--dd-ink, #2E2A2A);
	}

	/* Aberto: o proprio <nav> vira o cartao, com o titulo dentro. */
	.dd-toc:hover,
	.dd-toc:focus-within {
		width: 300px;
		padding: 14px 14px 10px 16px;
		margin-right: -2px;
		border-radius: 10px;
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 10px 30px rgba(46, 42, 42, .16);
	}

	.dd-toc:hover .dd-toc__title,
	.dd-toc:focus-within .dd-toc__title {
		display: block;
	}

	.dd-toc:hover ol,
	.dd-toc:focus-within ol {
		align-items: stretch;
	}

	.dd-toc:hover .dd-toc__label,
	.dd-toc:focus-within .dd-toc__label {
		display: flex;
	}
}

/* ======================================================================
   4. Paginas dos agentes: o retrato acompanha a leitura da ficha

   O JS calcula --dd-stick-top (96px quando sobra folga) e poe dd-sc-nostick
   quando a coluna nao cabe na tela. Em largura de celular as duas colunas
   empilham, e fixar nao faria sentido.
   ====================================================================== */

@media (min-width: 1024px) {

	.dd-sc .dd-v2-agente .section_wrapper > .mcb-wrap:first-child {
		position: sticky;
		top: var(--dd-stick-top, 96px);
		align-self: flex-start;
	}

	.dd-sc .dd-v2-agente .section_wrapper > .mcb-wrap:first-child.dd-sc-nostick {
		position: static;
	}
}
