/* Nortiva Home — Etapa 06.3-C: responsividade e acessibilidade.
 * Ajustes técnicos sem alteração da direção visual aprovada.
 */

/* O theme.json define Azul Norte para headings globalmente. Nas superfícies
 * escuras aprovadas da Home, preservar explicitamente o Branco. */
.nortiva-hero h1,
.nortiva-solutions h2,
.nortiva-rafael h2,
.nortiva-context-card h3 {
	color: var(--wp--preset--color--branco);
}

/* O espaçamento raiz do Site Editor não deve criar faixas entre os blocos
 * estruturais da Home. A correção é restrita à página inicial. */
body.home,
body.home .wp-site-blocks {
	margin: 0 !important;
	padding-block: 0 !important;
}

body.home .wp-site-blocks {
	gap: 0 !important;
}

body.home .wp-site-blocks > *,
body.home .wp-site-blocks > * + *,
body.home header.wp-block-template-part,
body.home footer.wp-block-template-part,
body.home .nortiva-header {
	margin-block: 0 !important;
}

body.home header.wp-block-template-part,
body.home header.wp-block-template-part > .nortiva-header {
	padding-block: 0 !important;
}

/* No desktop, preservar o cabeçalho aprovado em uma única linha. */
@media (min-width: 1101px) {
	body.home .nortiva-header__inner {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: clamp(.75rem, 1.1vw, 1.25rem);
	}

	body.home .nortiva-header .wp-block-site-logo {
		flex: 0 0 auto;
	}

	body.home .nortiva-primary-nav {
		flex: 1 1 0 !important;
		min-width: 0;
	}

	body.home .nortiva-primary-nav .wp-block-navigation__responsive-container,
	body.home .nortiva-primary-nav .wp-block-navigation__responsive-container-content {
		width: 100%;
	}

	body.home .nortiva-primary-nav .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}

	body.home .nortiva-primary-nav .wp-block-navigation__container {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		align-items: center !important;
		gap: clamp(.4rem, .65vw, .8rem) !important;
	}

	body.home .nortiva-primary-nav .wp-block-navigation-item {
		flex: 0 0 auto;
		margin: 0 !important;
	}

	body.home .nortiva-primary-nav .wp-block-navigation-item__content {
		white-space: nowrap;
	}
}

.nortiva-skip-link {
	position: fixed;
	top: .75rem;
	left: .75rem;
	z-index: 100001;
	transform: translateY(-180%);
	padding: .75rem 1rem;
	border-radius: .5rem;
	background: var(--wp--preset--color--branco);
	color: var(--wp--preset--color--azul-norte);
	font-weight: 700;
	text-decoration: none;
}

.nortiva-skip-link:focus { transform: translateY(0); }

.nortiva-home :where(a, button):focus-visible,
.nortiva-header :where(a, button):focus-visible,
.nortiva-footer :where(a, button):focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

.nortiva-home :where(a, button),
.nortiva-header :where(a, button),
.nortiva-footer :where(a, button) {
	-webkit-tap-highlight-color: rgba(182, 242, 62, .28);
}

body.home .nortiva-header .wp-block-site-logo,
.nortiva-footer .wp-block-site-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .45rem .65rem;
	border-radius: .7rem;
	background: var(--wp--preset--color--gelo);
	line-height: 0;
}

body.home .nortiva-header .wp-block-site-logo img,
.nortiva-footer .wp-block-site-logo img {
	display: block;
	height: auto;
}

.nortiva-footer__brand .wp-block-site-logo { margin-bottom: 1rem; }

/* WordPress 7.1 renderiza a classe customizada da Navegação no <ul>, e não no
 * <nav>. No mobile, portanto, o overlay deve ser endereçado a partir do nav
 * real para que fundo, fechamento e links recebam as cores aprovadas. */
@media (max-width: 1100px) {
	body.home .nortiva-header__inner { min-height: 4.75rem; gap: 1rem; }

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: flex !important;
		color: var(--wp--preset--color--branco);
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		background: var(--wp--preset--color--azul-norte) !important;
		color: var(--wp--preset--color--branco) !important;
		padding: max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		color: var(--wp--preset--color--branco) !important;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.nortiva-primary-nav {
		width: 100%;
		align-items: stretch !important;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.nortiva-primary-nav {
		gap: .4rem;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__container.nortiva-primary-nav > .wp-block-navigation-item {
		width: 100%;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__container.nortiva-primary-nav .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding-block: .75rem;
		color: var(--wp--preset--color--branco) !important;
		font-size: 1rem;
	}

	body.home .nortiva-header nav.wp-block-navigation .wp-block-navigation__container.nortiva-primary-nav .nortiva-nav-cta > .wp-block-navigation-item__content {
		margin-top: .5rem;
		padding: .85rem 1rem;
		background: var(--wp--preset--color--verde-aurora) !important;
		color: var(--wp--preset--color--azul-norte) !important;
		text-align: center;
	}
}

@media (max-width: 680px) {
	.nortiva-solutions__after { justify-content: stretch; }
	.nortiva-solutions__after .nortiva-btn { width: 100%; text-align: center; }
	.nortiva-method-step { padding-left: 5.6rem; }
	.nortiva-method-step__icon { width: 4.25rem; height: 4.25rem; }
}

@media (max-width: 360px) {
	.nortiva-home__section { padding-inline: 1rem; }
	.nortiva-client-grid { grid-template-columns: 1fr 1fr; }
	.nortiva-client-card { padding: .9rem; }
	.nortiva-client-card strong { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
	.nortiva-skip-link,
	.nortiva-home *,
	.nortiva-home *::before,
	.nortiva-home *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
