/* Diário News — customizações
 * Espaços publicitários e relógio do cabeçalho.
 * Especificidade mantida baixa de propósito: o tema Newspaper deve conseguir
 * sobrescrever cor e tipografia sem precisar de !important.
 */

/* ------------------------------------------------------------------
 * Barra da marca + data/hora, no topo absoluto da página
 *
 * O vermelho é o #D11517 que o tema já usava na faixa do logo, para a marca
 * continuar na mesma cor de antes.
 * ------------------------------------------------------------------ */

.dn-topbar {
	background: #d11517;
	color: #fff;
}

.dn-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	max-width: 1168px;
	margin: 0 auto;
	padding: 7px 12px;
}

.dn-topbar__marca {
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
}

.dn-topbar__marca:hover,
.dn-topbar__marca:focus {
	color: #fff;
	opacity: 0.85;
}

.dn-topbar .dn-datahora {
	color: #fff;
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.dn-topo-bar__inner {
	max-width: 1168px;
	margin: 0 auto;
}

/* Dentro do cabeçalho a faixa herdaria o vermelho do tema e o criativo ficaria
 * sobre ele. O cinza claro também separa visualmente o espaço publicitário do
 * conteúdo editorial, que é boa prática de sinalização de anúncio. */
.dn-topo-bar {
	background: #f4f4f4;
}

/* ------------------------------------------------------------------
 * Ordem das faixas do cabeçalho
 *
 * O cliente pediu a faixa da logo de volta no topo. O estilo 11 do Newspaper
 * renderiza o menu ANTES dessa faixa, e o layout aprovado é o inverso:
 * logo → marca/relógio → banner → menu.
 *
 * Em vez de reescrever a marcação do tagDiv, o cabeçalho vira uma coluna flex e
 * a ordem é declarada aqui. A classe `dn-header-inline` é posta no <body> pelo
 * PHP só quando a injeção dentro do cabeçalho dá certo, então se algo mudar no
 * tema estas regras simplesmente não se aplicam.
 * ------------------------------------------------------------------ */

.dn-header-inline .td-header-wrap {
	/* O !important aqui não é preferência de estilo. Existe um <style> na página,
	 * provavelmente gerado pelo YellowPencil, com
	 * `.td-header-wrap { display: block !important }`. Contra um !important
	 * nenhuma especificidade vence, e sem isto o cabeçalho não vira coluna flex —
	 * as faixas saem na ordem do tema em vez da ordem aprovada pelo cliente. */
	display: flex !important;
	flex-direction: column !important;
	/* Existe um align-items:center herdado que so passou a ter efeito quando o
	 * cabecalho virou flex. Com ele os itens nao esticam e assumem a largura do
	 * conteudo: a faixa do banner ficava com os 728px do criativo e era recortada
	 * na tela do celular em vez de reduzir. */
	align-items: stretch !important;
}

/* Item flex nao encolhe abaixo do conteudo por padrao (min-width:auto). Sem
 * isto, a faixa do banner mantem os 728px do criativo e estoura a tela do
 * celular, sendo recortada em vez de reduzir. */
.dn-header-inline .td-header-wrap > * {
	min-width: 0;
}

.dn-header-inline .td-header-wrap > .td-header-top-menu-full {
	order: 0;
}

.dn-header-inline .td-header-wrap > .td-banner-wrap-full {
	order: 1;
}

.dn-header-inline .td-header-wrap > .dn-topbar {
	order: 2;
}

.dn-header-inline .td-header-wrap > .dn-topo-bar {
	order: 3;
}

.dn-header-inline .td-header-wrap > .td-header-menu-wrap-full {
	order: 4;
}

/* ------------------------------------------------------------------
 * Data e hora do cabeçalho
 * ------------------------------------------------------------------ */

.dn-datahora {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45em;
	white-space: nowrap;
	font-size: 12px;
	line-height: 1;
}

.dn-datahora__sep {
	opacity: 0.5;
}

/* Dígitos de mesma largura: sem isso a linha treme a cada segundo. */
.dn-datahora__hora {
	font-variant-numeric: tabular-nums;
}

@media (max-width: 767px) {
	/* Em tela estreita o dia da semana por extenso rouba a linha inteira do menu. */
	.dn-datahora__data,
	.dn-datahora__sep {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * Espaços publicitários
 * ------------------------------------------------------------------ */

.dn-slot {
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

/* A proporção vem dos atributos --dn-w / --dn-h que o shortcode escreve no
 * elemento. Ela reserva a área antes do criativo carregar, então nada abaixo
 * do banner pula de lugar (CLS), e reduz proporcionalmente em telas estreitas. */
.dn-slot__inner {
	display: block;
	width: calc(var(--dn-w) * 1px);
	max-width: 100%;
	margin: 0 auto;
	aspect-ratio: var(--dn-w) / var(--dn-h);
	overflow: hidden;
}

/* O AdRotate envolve o criativo em uma div e um link; sem repassar a altura por
 * essa cadeia, a área reservada acima não chega até a imagem.
 * O `display` fica de fora de propósito: o placeholder também é filho direto e
 * precisa continuar sendo flex. */
.dn-slot__inner > * {
	width: 100%;
	height: 100%;
}

.dn-slot__inner a {
	display: block;
	width: 100%;
	height: 100%;
}

/* `contain` em vez de `cover`: se a agência mandar um criativo fora da medida,
 * ele aparece inteiro com sobra nas laterais em vez de sair cortado ou esticado. */
.dn-slot img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dn-slot iframe,
.dn-slot video {
	width: 100%;
	height: 100%;
	border: 0;
}

.dn-slot--sem-mobile {
	display: none;
}

@media (min-width: 768px) {
	.dn-slot--sem-mobile {
		display: block;
	}
}

/* Respiro por posição. O topo fica dentro do cabeçalho e precisa ser mais
 * apertado que os espaços do corpo da página. */
.dn-slot--topo {
	padding: 10px 0;
}

.dn-slot--subtopo,
.dn-slot--meio {
	padding: 20px 0;
}

.dn-slot--vt {
	padding: 0 0 20px;
}

/* ------------------------------------------------------------------
 * Placeholder de homologação
 * ------------------------------------------------------------------ */

.dn-slot__ph,
.dn-slot__ph--link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 4px 12px;
	background: #d11517;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 1.15;
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.dn-slot__ph--link:hover,
.dn-slot__ph--link:focus {
	color: #fff;
	background: #b91214;
}

/* Os espaços vão de 1020x90 no desktop a 335x30 num celular. O clamp faz o texto
 * acompanhar essa variação sem estourar a caixa nem ficar ilegível nas pontas. */
.dn-slot__ph-txt {
	font-size: clamp(11px, 1.35vw, 20px);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dn-slot__ph-marca {
	font-size: clamp(8px, 0.85vw, 13px);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.85;
}

/* No celular estes dois espaços ficam com cerca de 30px de altura — só cabe a
 * chamada principal. O VT continua com 90px e mantém as duas linhas. */
@media (max-width: 767px) {
	.dn-slot--subtopo .dn-slot__ph-marca,
	.dn-slot--meio .dn-slot__ph-marca {
		display: none;
	}
}
