/**
 * Soluções: hub em grelha + páginas de sistema.
 * Tokens Astra (como /projetos/). Sem layout de Serviços.
 */

body.solucoes-page {
	--ua-cyan: var(--ast-global-color-0, #00a5cf);
	--ua-ink: var(--ast-global-color-2, #1a1a1a);
	--ua-text: var(--ast-global-color-3, #333333);
	--ua-muted: var(--ast-global-color-1, #a2a2a2);
	--ua-ice: #d5e7ec;
	--ua-white: var(--ast-global-color-5, #ffffff);
	--ua-shell: 1200px;
	--ua-gutter: 40px;
	--ua-radius: 6px;
	background: var(--ua-white);
	color: var(--ua-text);
	overflow-x: clip;
}

html:has(body.solucoes-page) {
	overflow-x: clip;
}

body.solucoes-page #content {
	padding-top: 0;
	background: var(--ua-white);
}

body.solucoes-page .site-content > .ast-container {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin: 0;
}

body.solucoes-page #primary,
body.solucoes-page .site-main,
body.solucoes-page .entry-content,
body.solucoes-page .elementor {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
	float: none;
}

body.solucoes-page.ast-separate-container .ast-article-single {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
}

body.solucoes-page .elementor-widget {
	margin: 0;
}

body.solucoes-page .ua-shell.e-con {
	width: min(100% - (var(--ua-gutter) * 2), var(--ua-shell)) !important;
	max-width: 100%;
	margin-inline: auto;
}

body.solucoes-page .ua-intro {
	padding: 56px 0 40px;
	max-height: 50vh;
	overflow: hidden;
	background: var(--ua-ice);
	color: var(--ua-cyan);
}

body.solucoes-page .ua-intro .ua-title .elementor-heading-title {
	margin: 0 0 12px;
	max-width: 18ch;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1.2;
	text-align: start;
	color: var(--ua-cyan);
}

body.solucoes-page .ua-intro .ua-lead,
body.solucoes-page .ua-intro .ua-lead p {
	margin: 0;
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.6;
	color: #236373;
}

body.solucoes-page .ua-listing {
	padding: 72px 0 120px;
	background: var(--ua-white);
}

body.solucoes-page .ua-grid.e-con {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 80px 56px;
	align-items: start;
	width: 100%;
}

body.solucoes-page .ua-item.e-con {
	width: 100% !important;
	max-width: none;
	flex-direction: column;
	align-items: flex-start;
	background: transparent;
}

body.solucoes-page .ua-item .elementor-widget-image,
body.solucoes-page .ua-item .elementor-widget-container,
body.solucoes-page .ua-item figure,
body.solucoes-page .ua-item .elementor-image,
body.solucoes-page .ua-item a {
	display: block;
	width: 100%;
	margin: 0;
}

body.solucoes-page .ua-item figcaption,
body.solucoes-page .ua-cover figcaption {
	display: none;
}

body.solucoes-page .ua-item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--ua-radius);
}

body.solucoes-page .ua-item .ua-title {
	margin-top: 18px;
}

body.solucoes-page .ua-item .ua-title .elementor-heading-title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 400;
	font-style: italic;
	line-height: 1.3;
	color: var(--ua-cyan);
}

body.solucoes-page .ua-item .ua-title .elementor-heading-title a {
	color: var(--ua-cyan);
	text-decoration: none;
}

body.solucoes-page .ua-item .ua-title .elementor-heading-title a:hover,
body.solucoes-page .ua-item .ua-title .elementor-heading-title a:focus-visible {
	color: var(--ua-ink);
}

body.solucoes-page .ua-item .ua-text,
body.solucoes-page .ua-item .ua-text p {
	margin: 8px 0 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ua-text);
}

body.solucoes-page .ua-cover {
	width: 100%;
	background: var(--ua-ink);
}

body.solucoes-page .ua-cover .elementor-widget,
body.solucoes-page .ua-cover .elementor-widget-container,
body.solucoes-page .ua-cover figure,
body.solucoes-page .ua-cover .elementor-image {
	margin: 0;
	width: 100%;
}

body.solucoes-page .ua-cover img {
	display: block;
	width: 100%;
	height: clamp(240px, 42vh, 460px);
	object-fit: cover;
}

body.solucoes-page .ua-copy {
	padding: 48px 0 32px;
	background: var(--ua-white);
}

body.solucoes-page .ua-copy .ua-title,
body.solucoes-page .ua-copy .ua-text,
body.solucoes-page .ua-copy .ua-narrow {
	max-width: 40rem;
}

body.solucoes-page .ua-copy .ua-title .elementor-heading-title {
	margin: 0 0 20px;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1.2;
	text-align: start;
	color: var(--ua-cyan);
}

body.solucoes-page .ua-copy .ua-text,
body.solucoes-page .ua-copy .ua-text p {
	margin: 0 0 1.15em;
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ua-text);
}

body.solucoes-page .ua-copy .ua-text p:last-child {
	margin-bottom: 0;
}

body.solucoes-page .ua-obra {
	padding: 24px 0 32px;
	background: var(--ua-white);
}

body.solucoes-page .ua-obra:not(:has(.ua-destaque)) {
	display: none;
}

body.solucoes-page .ua-destaque {
	max-width: 40rem;
}

body.solucoes-page .ua-destaque__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

body.solucoes-page .ua-destaque__media {
	overflow: hidden;
	border-radius: var(--ua-radius);
	background: var(--ua-ice);
}

body.solucoes-page .ua-destaque__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

body.solucoes-page .ua-destaque__body {
	padding: 16px 0 0;
}

body.solucoes-page .ua-destaque__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 400;
	font-style: italic;
	line-height: 1.3;
	color: var(--ua-cyan);
}

body.solucoes-page .ua-destaque__link:hover .ua-destaque__title,
body.solucoes-page .ua-destaque__link:focus-visible .ua-destaque__title {
	color: var(--ua-ink);
}

body.solucoes-page .ua-destaque__loc {
	margin: 6px 0 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ua-muted);
}

body.solucoes-page .ua-actions {
	padding: 8px 0 96px;
	background: var(--ua-white);
}

body.solucoes-page .ua-actions .ua-shell.e-con {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
}

body.solucoes-page .ua-more .elementor-button,
body.solucoes-page .ua-contact .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--ua-cyan);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

body.solucoes-page .ua-more .elementor-button:hover,
body.solucoes-page .ua-more .elementor-button:focus,
body.solucoes-page .ua-contact .elementor-button:hover,
body.solucoes-page .ua-contact .elementor-button:focus {
	background: transparent;
	color: var(--ua-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 1024px) {
	body.solucoes-page {
		--ua-gutter: 32px;
	}

	body.solucoes-page .ua-grid.e-con {
		gap: 64px 40px;
	}
}

@media (max-width: 767px) {
	body.solucoes-page {
		--ua-gutter: 24px;
	}

	body.solucoes-page .ua-intro {
		padding: 40px 0 28px;
	}

	body.solucoes-page .ua-listing {
		padding: 48px 0 80px;
	}

	body.solucoes-page .ua-grid.e-con {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	body.solucoes-page .ua-cover img {
		height: clamp(220px, 38vh, 340px);
	}

	body.solucoes-page .ua-copy {
		padding: 32px 0 24px;
	}

	body.solucoes-page .ua-actions .ua-shell.e-con {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Hub: intro azul + filtros fora da faixa + um painel C que troca sem scroll */

body.solucoes-page {
	--ua-teal: #003b4a;
	--ua-mid: #236373;
	--ua-gray: #f7f7f7;
}

body.solucoes-page .ua-choose,
body.solucoes-page .ua-stage {
	background: var(--ua-white);
	overflow-anchor: none;
}

body.solucoes-page .ua-choose {
	padding: 28px 0 8px;
	border-bottom: 1px solid var(--ua-ice);
}

body.solucoes-page .ua-stage {
	padding: 36px 0 96px;
}

body.solucoes-page .ua-ask__legend .elementor-heading-title {
	margin: 0 0 12px;
	font-family: Poppins, sans-serif;
	font-size: 11px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 3px;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--ua-teal);
}

body.solucoes-page .ua-available__title .elementor-heading-title {
	margin: 20px 0 12px;
	font-family: Poppins, sans-serif;
	font-size: 11px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 3px;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--ua-teal);
}

body.solucoes-page .ua-pills.e-con,
body.solucoes-page .ua-pills > .e-con-inner,
body.solucoes-page .ua-names.e-con,
body.solucoes-page .ua-names > .e-con-inner {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
	width: 100%;
}

body.solucoes-page .ua-pills.e-con {
	margin: 0 0 8px;
}

body.solucoes-page .ua-pill,
body.solucoes-page .ua-name {
	width: auto !important;
	max-width: none;
	flex: 0 0 auto;
}

body.solucoes-page .ua-pill .elementor-widget-container,
body.solucoes-page .ua-name .elementor-widget-container,
body.solucoes-page .ua-pill .elementor-button-wrapper,
body.solucoes-page .ua-name .elementor-button-wrapper {
	margin: 0;
}

body.solucoes-page .ua-pill .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	background: var(--ua-gray);
	border: 1px solid transparent;
	border-radius: 999px;
	box-shadow: none;
	color: var(--ua-teal);
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	fill: currentColor;
}

body.solucoes-page .ua-pill.is-on .elementor-button,
body.solucoes-page .ua-pill .elementor-button:hover,
body.solucoes-page .ua-pill .elementor-button:focus {
	background: var(--ua-teal);
	color: var(--ua-white);
	box-shadow: none;
}

body.solucoes-page .ua-name .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--ua-teal);
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	fill: currentColor;
}

body.solucoes-page .ua-name.is-on .elementor-button {
	color: var(--ua-cyan);
}

body.solucoes-page .ua-name .elementor-button:hover,
body.solucoes-page .ua-name .elementor-button:focus {
	background: transparent;
	color: var(--ua-cyan);
	box-shadow: none;
}

body.solucoes-page .ua-name.is-off {
	display: none !important;
}

body.solucoes-page .ua-pill .elementor-button:focus-visible,
body.solucoes-page .ua-name .elementor-button:focus-visible {
	outline: 2px solid var(--ua-cyan);
	outline-offset: 2px;
}

body.solucoes-page .ua-stage .ua-band {
	display: none !important;
	padding: 0;
	background: var(--ua-white);
}

body.solucoes-page .ua-stage .ua-band.is-on,
body.solucoes-page.elementor-editor-active .ua-stage .ua-band,
body.solucoes-page.elementor-editor-preview .ua-stage .ua-band {
	display: block !important;
}

body.solucoes-page .ua-band__grid.e-con,
body.solucoes-page .ua-band__grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 48px;
	align-items: center;
}

body.solucoes-page .ua-band__grid.e-con {
	width: min(100% - (var(--ua-gutter) * 2), var(--ua-shell)) !important;
}

body.solucoes-page .ua-band__media,
body.solucoes-page .ua-band__copy {
	width: 100% !important;
	max-width: none;
}

body.solucoes-page .ua-band__media .elementor-widget,
body.solucoes-page .ua-band__media .elementor-widget-container,
body.solucoes-page .ua-band__media figure,
body.solucoes-page .ua-band__media .elementor-image,
body.solucoes-page .ua-band__media a {
	display: block;
	width: 100%;
	margin: 0;
}

body.solucoes-page .ua-band img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: var(--ua-radius);
}

body.solucoes-page .ua-band__title .elementor-heading-title {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1.2;
	color: var(--ua-cyan);
}

body.solucoes-page .ua-band__title .elementor-heading-title a {
	color: inherit;
	text-decoration: none;
}

body.solucoes-page .ua-band__title .elementor-heading-title a:hover,
body.solucoes-page .ua-band__title .elementor-heading-title a:focus-visible {
	color: var(--ua-ink);
}

body.solucoes-page .ua-band__lead,
body.solucoes-page .ua-band__lead p {
	margin: 12px 0 0;
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ua-mid);
}

body.solucoes-page .ua-band__when,
body.solucoes-page .ua-band__when p,
body.solucoes-page .ua-band__proof,
body.solucoes-page .ua-band__proof p {
	margin: 10px 0 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--ua-mid);
}

body.solucoes-page .ua-band__proof span {
	margin-left: 8px;
	font-family: Poppins, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ua-muted);
}

body.solucoes-page .ua-band__actions.e-con {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 22px;
	margin-top: 20px;
	width: auto !important;
}

body.solucoes-page .ua-band .ua-more,
body.solucoes-page .ua-band .ua-contact {
	width: auto !important;
	max-width: none;
	flex: 0 0 auto;
}

body.solucoes-page .elementor-element-83db328 {
	width: 100% !important;
	max-width: none !important;
}

body.solucoes-page .elementor-element-83db328 .elementor-invisible,
body.solucoes-page .elementor-element-83db328 .elementor-widget {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

@media (max-width: 900px) {
	body.solucoes-page .ua-choose {
		padding: 24px 0 8px;
	}

	body.solucoes-page .ua-stage {
		padding: 28px 0 72px;
	}

	body.solucoes-page .ua-band__grid.e-con,
	body.solucoes-page .ua-band__grid > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}
