/*
Theme Name: KLAVEN
Theme URI: https://klaven.example.com
Author: SIMCORP
Author URI: https://simcorp.example.com
Description: Tema de blocos (Full Site Editing) para a landing page da plataforma KLAVEN, produto da SIMCORP. Tema de página única — sem blog/páginas internas.
Version: 0.1.1
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: klaven
Domain Path: /languages
Tags: full-site-editing, custom-colors, custom-menu, translation-ready
*/

/*
Em temas de blocos, o layout e a maior parte dos estilos são gerados
automaticamente a partir do theme.json. Este arquivo fica reservado para
ajustes finos que o theme.json não cobre (ex: estados específicos de
componentes, print styles).
*/

.skip-link {
	background: var(--wp--preset--color--contrast, #0b1220);
	color: var(--wp--preset--color--base, #fff);
	padding: 0.75em 1.25em;
	position: absolute;
	left: 0.5em;
	top: -100px;
	z-index: 100000;
	transition: top 0.2s ease-in-out;
}

.skip-link:focus {
	top: 0.5em;
}

/* O blockGap global (theme.json > styles.spacing.blockGap) insere uma margem
   entre TODOS os blocos de nível raiz do template (.wp-site-blocks). Isso
   cria uma faixa branca indesejada onde um bloco de fundo colorido encosta
   no seguinte (header→Hero, Data Sources→Metrics, CTA→footer etc.). Cada
   seção/parte já controla seu próprio espaçamento vertical via padding
   (.section, .klaven-header__inner, .klaven-footer etc.), então zeramos só
   o gap entre blocos de nível raiz — grids/colunas dentro de cada seção
   continuam usando blockGap normalmente. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Mesmo motivo do bloco acima: as seções da landing (patterns) agora ficam
   dentro de um <main class="klaven-main"> (adicionado para dar à página um
   landmark <main> — apontado pelo Lighthouse/axe como ausente). Sem essa
   regra, o blockGap do theme.json voltaria a inserir a faixa branca entre
   seções, só que um nível mais abaixo na árvore (dentro do <main> em vez de
   entre os blocos de nível raiz). */
.klaven-main > * + * {
	margin-block-start: 0;
}

/* CAUSA REAL do header sticky "sumindo" ao rolar (confirmado inspecionando o
   DOM ao vivo): wp:template-part renderiza envolto num <div
   class="wp-block-template-part">, e esse wrapper encolhe pra exatamente a
   altura do header (73px) — ou seja, o "espaço" dentro do qual o sticky
   poderia se mover é zero, então ele nunca gruda de verdade, só rola embora
   junto com o wrapper. `display:contents` remove esse wrapper do layout
   (mantendo o filho), fazendo o header ficar sticky em relação ao
   `.wp-site-blocks` (altura da página inteira) em vez do wrapper de 73px.
   Escopado via :has() ao wrapper que envolve especificamente o header
   (não precisaria, já que é o único template-part do tema, mas fica
   explícito qual elemento está sendo afetado). */
.wp-block-template-part:has(> .klaven-header) {
	display: contents;
}
