/**
 * Ajustes responsivos — layout mobile alinhado à identidade preto / verde / branco.
 */

/* ── Base: evitar scroll horizontal ── */

@media (max-width: 991px) {
	html,
	body {
		overflow-x: clip;
	}

	#page,
	.site-main,
	.entry-content,
	.article-content {
		overflow-x: clip;
		max-width: 100%;
	}

	.entry-content :is(img, video, iframe, svg, object) {
		max-width: 100%;
		height: auto;
	}

	.entry-content .wp-block-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.entry-content .wp-block-cover__inner-container,
	.entry-content .wp-block-group__inner-container {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

/* ── Header: barra de contatos compacta (preto + verde) ── */

@media (max-width: 800px) {
	.div-contacts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.35rem 0.5rem;
		padding: 0.5rem 0.75rem;
		background-color: #080910;
	}

	.div-contact {
		width: auto;
		min-width: 0;
		text-align: center;
	}

	.div-contact:has(.custom-flag) {
		grid-column: 1 / -1;
	}

	.div-contact .btn-custom {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 100%;
		font-size: 0.75rem;
		padding: 0.45rem 0.5rem;
		line-height: 1.25;
		background: transparent !important;
		border: 1px solid rgb(87 178 64 / 35%);
		border-radius: 4px;
	}

	.div-contact .btn-custom:hover,
	.div-contact .btn-custom:focus-visible {
		border-color: #57b240;
		background: rgb(87 178 64 / 8%) !important;
	}

	.div-contact .btn__text {
		white-space: normal;
		word-break: break-word;
		text-align: center;
	}

	.div-contact .icon-custom {
		color: #57b240;
		margin-right: 0.35rem;
		flex-shrink: 0;
	}

	.custom-flag {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.25rem;
	}

	.custom-flag li {
		padding: 0 6px !important;
	}

	body.header2 .navbar-header {
		background-color: #080910;
	}
}

/* ── Home + landing pages (Ghost Kit) ── */

@media (max-width: 781px) {
	:is(.home, .codificar-landing-page) .coluna-texto {
		padding: 1rem 1.25rem;
	}

	:is(.home, .codificar-landing-page) .entry-content .wp-block-image {
		margin: 0.75rem 0;
	}

	:is(.home, .codificar-landing-page) .cobertura-numero {
		top: 0 !important;
	}

	:is(.home, .codificar-landing-page) .coluna-icones-1 > .wp-block-column:nth-child(3) {
		margin-left: 0;
		margin-right: 0;
	}

	:is(.home, .codificar-landing-page) .coluna-icones-1 > .wp-block-column > p.has-medium-font-size {
		min-height: 0;
	}

	:is(.home, .codificar-landing-page) .entry-content #clientes-dizem {
		font-size: 1.75rem !important;
		color: #1d7842 !important;
	}

	.ghostkit-testimonial-content p {
		font-size: 1.0625rem;
		line-height: 1.55;
		color: #2a2f36;
	}

	.ghostkit-counter-box-number {
		font-size: 2rem;
		color: #1d7842;
	}

	:is(.home, .codificar-landing-page) .bloco-numeros .wp-block-columns {
		gap: 1.25rem;
	}

	:is(.home, .codificar-landing-page) .coluna-produtos-1 .wp-block-column {
		margin-bottom: 0.5rem;
	}
}

@media (max-width: 480px) {
	:is(.home, .codificar-landing-page) .entry-content #clientes-dizem {
		font-size: 1.5rem !important;
	}

	:is(.home, .codificar-landing-page) .entry-content .wp-block-group:has(#clientes-dizem) > .wp-block-group__inner-container > p.has-text-color {
		font-size: 0.9375rem !important;
		color: #1d7842 !important;
	}

	.ghostkit-testimonial-content::after {
		font-size: 1.75rem;
		color: #080910;
	}
}

/* ── Páginas legadas (WPBakery / VC) ── */

@media (max-width: 767px) {
	.custon-description-home {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.custom-form {
		padding: 1.5rem 1rem !important;
	}

	.logo-midias li {
		width: 100px !important;
		margin: 1rem 0.75rem !important;
		left: auto !important;
		position: relative !important;
	}

	.intro-text-clients p::after {
		left: 50% !important;
		transform: translateX(-50%);
	}

	body .intro-text-clients {
		margin-top: 3rem !important;
	}

	.title1-holder .title1-motto {
		top: 0 !important;
	}

	.title1-holder .title1-motto::after {
		display: none;
	}
}

/* ── Footer ── */

@media (max-width: 767px) {
	footer .widget p,
	footer .widget a {
		word-break: break-word;
	}
}

/* ── Área de toque confortável (menu estilizado em nav-menu-fixes.css) ── */

@media (max-width: 767px) {
	.wp-block-button__link,
	.btn-custom,
	.mauticform-button {
		min-height: 44px;
	}

	body header #navbar .menu-item > a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}
}

/* ── Páginas de serviços: TOC ── */

@media (max-width: 991px) {
	.codificar-servicos-toc-wrap.is-mobile.is-open {
		max-height: min(70vh, 22rem);
	}

	.codificar-servicos-toc-wrap.is-mobile .codificar-servicos-toc-toggle {
		border-color: rgb(87 178 64 / 35%);
	}

	.codificar-servicos-toc-wrap.is-mobile .codificar-servicos-toc-toggle:hover,
	.codificar-servicos-toc-wrap.is-mobile .codificar-servicos-toc-toggle:focus-visible {
		border-color: #57b240;
		color: #1d7842;
	}
}
