/*
Theme Name: Astra Child Souza Guincho
Theme URI: https://wpastra.com/
Description: Tema filho do Astra para a landing page da Souza Guincho.
Author: Real Origami
Template: astra
Version: 1.1.1
Text Domain: astra-child-souza-guincho
*/

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	src: url("assets/fonts/inter-latin-variable.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 600;
	src: url("assets/fonts/barlow-condensed-600-latin.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	src: url("assets/fonts/barlow-condensed-700-latin.woff2") format("woff2");
}

:root {
	--souza-navy: #001939;
	--souza-navy-alt: #021b3b;
	--souza-blue: #0e56ac;
	--souza-yellow: #fab202;
	--souza-white: #ffffff;
	--souza-black: #0b0c0f;
	--souza-surface: #faf8fd;
	--souza-surface-low: #f5f3f7;
	--souza-surface-high: #e3e2e6;
	--souza-border: #c4c6cf;
	--souza-muted: #44474e;
	--souza-success: #25d366;
	--souza-radius-sm: 8px;
	--souza-radius-md: 12px;
	--souza-z-header: 50;
	--souza-z-floating: 100;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	line-height: 1.15;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	background: var(--souza-surface);
	color: var(--souza-black);
	font-family: "Inter", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Barlow Condensed", sans-serif;
}

img {
	border-style: none;
	height: auto;
	max-width: 100%;
}

.elementor-widget-text-editor p,
.elementor-heading-title {
	margin-block: 0;
}

#ast-scroll-top {
	display: none !important;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
	outline: 3px solid var(--souza-yellow);
	outline-offset: 3px;
}

.elementor-button {
	cursor: pointer;
	touch-action: manipulation;
	transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.elementor-button:active {
	transform: translateY(1px);
}

.souza-stitch-section {
	isolation: isolate;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.souza-stitch-section .e-con {
	padding: 0 !important;
}

.souza-stitch-section > .e-con {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	width: 100% !important;
}

.souza-stitch-section .souza-need-content {
	padding: 32px !important;
}

.souza-stitch-section .souza-badge,
.souza-stitch-section .souza-city-chip {
	padding: 4px 12px !important;
}

.souza-stitch-section .souza-service-card,
.souza-stitch-section .souza-testimonial-card {
	padding: 24px !important;
}

.souza-stitch-section .souza-service-icon {
	padding: 12px !important;
}

.souza-stitch-section .souza-step-number {
	padding: 20px !important;
}

.souza-stitch-section .souza-map-icon-box {
	padding: 16px !important;
}

.souza-section-lead {
	margin-inline: auto;
	max-width: 672px;
}

.souza-card {
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.souza-card:hover {
	border-color: var(--souza-blue) !important;
	box-shadow: 0 8px 24px rgba(0, 25, 57, 0.10);
	transform: translateY(-2px);
}

/* Cabeçalho */

#topo {
	border-bottom: 1px solid var(--souza-border);
	box-shadow: 0 2px 8px rgba(0, 25, 57, 0.06);
	left: 0;
	min-height: 80px !important;
	position: sticky !important;
	right: 0;
	top: 0;
	z-index: var(--souza-z-header);
}

.souza-header-row {
	align-items: center !important;
	gap: 0 !important;
	height: 80px !important;
	min-height: 80px !important;
}

.souza-brand {
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: nowrap !important;
	white-space: nowrap;
}

.souza-header-nav {
	align-items: center !important;
	gap: 24px !important;
	justify-content: center !important;
}

.souza-header-actions {
	align-items: center !important;
	gap: 8px !important;
	justify-content: flex-end !important;
}

.souza-brand-icon,
.souza-brand-name,
.souza-header-nav > .elementor-element,
.souza-header-actions > .elementor-element,
.souza-footer-nav > .elementor-element,
.souza-footer-phone > .elementor-element {
	width: auto !important;
}

.souza-brand-icon .elementor-icon-wrapper,
.souza-brand-name .elementor-heading-title {
	line-height: 1 !important;
}

.souza-nav-link .elementor-button,
.souza-footer-link .elementor-button {
	min-height: 36px;
	white-space: nowrap;
}

.souza-menu-toggle {
	display: none;
}

.souza-menu-toggle .elementor-button-text {
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.souza-menu-toggle .elementor-button-icon {
	margin: 0 !important;
}

/* Hero */

#inicio {
	background-position: center center;
	min-height: 80vh !important;
}

.souza-hero-copy {
	gap: 24px !important;
	max-width: 672px !important;
}

.souza-hero-actions {
	gap: 16px !important;
}

.souza-hero-actions > .elementor-element {
	width: auto !important;
}

.souza-secondary-button .elementor-button:hover {
	transform: translateY(-2px);
}

.souza-hero-phone a {
	color: var(--souza-yellow);
	text-decoration: none;
}

.souza-hero-phone a::before {
	content: "\260E";
	font-family: sans-serif;
	font-size: 0.86em;
	margin-right: 12px;
}

/* Benefícios */

#beneficios {
	border-bottom: 1px solid var(--souza-surface-high);
}

.souza-benefit > .elementor-element:first-child {
	width: 28px !important;
}

#beneficios > .e-con {
	gap: 24px !important;
}

.souza-benefit {
	align-items: center !important;
	gap: 12px !important;
}

.souza-benefit > .elementor-element:last-child {
	width: auto !important;
}

/* Cards de necessidade */

.souza-need-card {
	box-shadow: 0 10px 24px rgba(0, 25, 57, 0.18);
	min-height: 384px !important;
	overflow: hidden !important;
	position: relative !important;
}

.souza-need-card::after {
	background: linear-gradient(to top, rgba(11, 12, 15, 0.98), rgba(11, 12, 15, 0.46), rgba(11, 12, 15, 0));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.souza-need-image {
	height: 100% !important;
	inset: 0;
	position: absolute !important;
	width: 100% !important;
}

.souza-need-image .elementor-widget-container,
.souza-need-image img {
	height: 100% !important;
	width: 100% !important;
}

.souza-need-image img {
	object-fit: cover;
	transition: transform 500ms ease;
}

.souza-need-card:hover .souza-need-image img {
	transform: scale(1.04);
}

.souza-need-content {
	bottom: 0;
	gap: 12px !important;
	left: 0;
	position: absolute !important;
	right: 0;
	z-index: 2;
}

.souza-need-content > .elementor-widget-heading .elementor-heading-title,
.souza-need-content > .elementor-widget-text-editor p,
.souza-need-content > .souza-need-link .elementor-button,
.souza-need-content > .souza-need-link .elementor-button-text {
	color: var(--souza-white) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.72);
}

.souza-need-content > .elementor-widget-text-editor p {
	font-weight: 500;
}

.souza-badge {
	align-self: flex-start;
	max-width: max-content !important;
	width: auto !important;
}

.souza-need-link {
	width: auto !important;
}

.souza-need-link .elementor-button {
	min-height: 32px;
}

/* Serviços */

.souza-services-grid,
.souza-fleet-grid {
	margin-top: 32px;
}

#necessidades > .e-con {
	gap: 48px !important;
}

#necessidades > .e-con > .e-con {
	gap: 32px !important;
}

#servicos > .e-con,
#frota > .e-con {
	gap: 16px !important;
}

.souza-services-grid,
.souza-fleet-grid {
	gap: 24px !important;
}

.souza-service-card {
	gap: 16px !important;
}

.souza-service-icon {
	height: 48px;
	max-width: 48px !important;
	width: 48px !important;
}

.souza-service-icon .elementor-icon-wrapper {
	line-height: 1;
}

/* Transporte especializado */

.souza-specialty-badge,
.souza-metric-badge {
	max-width: max-content !important;
	width: auto !important;
}

.souza-machinery-image img {
	border: 4px solid #4a5f82;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
	width: 100%;
}

#transporte-maquinas > .e-con {
	align-items: center !important;
	gap: 48px !important;
}

#transporte-maquinas > .e-con > .e-con:first-child {
	gap: 24px !important;
}

.souza-capability-list .elementor-icon-list-item {
	align-items: flex-start;
}

/* Diferenciais */

.souza-differential .elementor-icon {
	align-items: center;
	display: inline-flex;
	height: 64px;
	justify-content: center;
	width: 64px;
}

.souza-metric-badge {
	align-self: center;
}

#diferenciais > .e-con {
	gap: 48px !important;
}

#diferenciais > .e-con > .e-con {
	gap: 32px !important;
}

.souza-differential {
	align-items: center !important;
	gap: 16px !important;
}

/* Frota */

.souza-fleet-image,
.souza-fleet-image .elementor-widget-container,
.souza-fleet-image img {
	height: 320px !important;
	width: 100% !important;
}

.souza-fleet-image img {
	object-fit: cover;
}

/* Como funciona */

.souza-step-number {
	height: 80px !important;
	max-width: 80px !important;
	min-height: 80px !important;
	width: 80px !important;
}

#como-funciona > .e-con {
	gap: 48px !important;
}

#como-funciona > .e-con > .e-con {
	gap: 32px !important;
}

.souza-step {
	align-items: center !important;
	gap: 16px !important;
}

/* Área de atendimento */

#area-atendimento {
	border-bottom: 1px solid var(--souza-border);
	border-top: 1px solid var(--souza-border);
}

.souza-map-icon-box {
	height: 64px;
	max-width: 64px !important;
	width: 64px !important;
}

.souza-city-chip {
	max-width: max-content !important;
	width: auto !important;
}

.souza-map-box {
	background-color: #efedf1 !important;
	background-image: radial-gradient(rgba(14, 86, 172, 0.36) 1px, transparent 1px) !important;
	background-size: 20px 20px !important;
}

#area-atendimento > .e-con {
	align-items: center !important;
	gap: 48px !important;
}

#area-atendimento > .e-con > .e-con:first-child {
	gap: 24px !important;
}

.souza-city-list {
	gap: 8px !important;
}

/* Avaliações */

.souza-stars > .elementor-element {
	width: auto !important;
}

.souza-stars .elementor-icon-wrapper {
	line-height: 1;
}

#depoimentos > .e-con {
	gap: 48px !important;
}

#depoimentos > .e-con > .e-con {
	gap: 24px !important;
}

.souza-testimonial-card {
	align-items: center !important;
	gap: 16px !important;
}

.souza-stars {
	gap: 2px !important;
	justify-content: center !important;
}

/* FAQ */

.souza-faq-accordion .elementor-accordion-item {
	background: var(--souza-white);
	border: 1px solid var(--souza-border) !important;
	border-radius: var(--souza-radius-sm);
	margin-bottom: 16px;
	overflow: hidden;
}

.souza-faq-content {
	gap: 32px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 768px !important;
	width: 100% !important;
}

.souza-stitch-section > .souza-faq-content {
	max-width: 768px !important;
}

.souza-faq-accordion .elementor-tab-title {
	border: 0 !important;
	min-height: 52px;
	padding: 16px !important;
}

.souza-faq-accordion .elementor-tab-content {
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	padding: 16px !important;
}

/* CTA final */

.souza-final-cta .elementor-button {
	box-shadow: 0 8px 20px rgba(0, 25, 57, 0.24);
}

.souza-final-cta > .e-con {
	align-items: center !important;
	gap: 32px !important;
}

/* Rodapé */

.souza-footer a {
	color: #7084aa;
	text-decoration: none;
}

.souza-footer a:hover {
	color: var(--souza-yellow);
}

.souza-footer-phone {
	white-space: nowrap;
}

.souza-footer-row {
	align-items: center !important;
	gap: 24px !important;
	justify-content: space-between !important;
}

.souza-footer-brand {
	align-items: flex-start !important;
	gap: 8px !important;
}

.souza-footer-nav {
	align-items: center !important;
	gap: 24px !important;
	justify-content: center !important;
}

.souza-footer-phone {
	align-items: center !important;
	gap: 8px !important;
	justify-content: flex-end !important;
}

/* WhatsApp flutuante */

#whatsapp-flutuante {
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.souza-whatsapp-float {
	bottom: 24px !important;
	left: auto !important;
	position: fixed !important;
	right: 24px !important;
	width: auto !important;
	z-index: var(--souza-z-floating) !important;
}

.souza-whatsapp-float .elementor-button {
	align-items: center;
	border-radius: 999px;
	box-shadow: 0 10px 28px rgba(37, 211, 102, 0.34);
	display: inline-flex;
	height: 56px;
	justify-content: center;
	min-height: 56px;
	min-width: 56px;
	padding: 0 !important;
	width: 56px;
}

.souza-whatsapp-float .elementor-button-text {
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.souza-whatsapp-float .elementor-button-icon {
	font-size: 28px;
	margin: 0 !important;
}

.souza-header-cta .elementor-button {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
}

@media (max-width: 1024px) {
	.souza-header-nav {
		gap: 12px !important;
	}

	.souza-nav-link .elementor-button {
		font-size: 12px !important;
	}

	.souza-header-cta .elementor-button {
		font-size: 12px !important;
		padding-inline: 12px !important;
	}
}

@media (min-width: 1024px) {
	#beneficios {
		min-height: 101px !important;
	}

	#servicos {
		justify-content: center !important;
		min-height: 796px !important;
	}

	#transporte-maquinas {
		justify-content: center !important;
		min-height: 610px !important;
	}

	#diferenciais {
		justify-content: center !important;
		min-height: 468px !important;
	}

	#frota {
		justify-content: center !important;
		min-height: 608px !important;
	}

	#orcamento {
		justify-content: center !important;
		min-height: 260px !important;
	}

	.souza-footer-row {
		min-height: 64px;
	}

	#beneficios .souza-benefit {
		width: calc((100% - 72px) / 4) !important;
	}

	#necessidades .souza-need-card {
		width: calc((100% - 32px) / 2) !important;
	}

	#servicos .souza-service-card,
	#frota .souza-fleet-grid > .e-con,
	#depoimentos .souza-testimonial-card {
		width: calc((100% - 48px) / 3) !important;
	}

	#transporte-maquinas > .e-con > .e-con,
	#area-atendimento > .e-con > .e-con {
		width: calc((100% - 48px) / 2) !important;
	}

	#diferenciais .souza-differential {
		width: calc((100% - 96px) / 4) !important;
	}

	#como-funciona .souza-step {
		width: calc((100% - 64px) / 3) !important;
	}

	.souza-footer-brand {
		width: 37.8% !important;
	}

	.souza-footer-nav {
		width: 35.8% !important;
	}

	.souza-footer-phone {
		width: 22.2% !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	#beneficios .souza-benefit {
		width: calc((100% - 72px) / 4) !important;
	}

	#necessidades .souza-need-card {
		width: calc((100% - 32px) / 2) !important;
	}

	#servicos .souza-service-card {
		width: calc((100% - 24px) / 2) !important;
	}

	#transporte-maquinas > .e-con > .e-con {
		width: 100% !important;
	}

	#diferenciais .souza-differential {
		width: calc((100% - 96px) / 4) !important;
	}

	#frota .souza-fleet-grid > .e-con,
	#depoimentos .souza-testimonial-card {
		width: calc((100% - 48px) / 3) !important;
	}

	#como-funciona .souza-step {
		width: calc((100% - 64px) / 3) !important;
	}

	#area-atendimento > .e-con > .e-con {
		width: calc((100% - 48px) / 2) !important;
	}
}

@media (max-width: 767px) {
	.souza-stitch-section > .e-con {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.souza-header-nav,
	.souza-header-cta {
		display: none !important;
	}

	.souza-menu-toggle {
		display: block;
	}

	#beneficios .souza-benefit {
		width: calc((100% - 24px) / 2) !important;
	}

	#necessidades .souza-need-card,
	#servicos .souza-service-card,
	#transporte-maquinas > .e-con > .e-con,
	#diferenciais .souza-differential,
	#frota .souza-fleet-grid > .e-con,
	#como-funciona .souza-step,
	#area-atendimento > .e-con > .e-con,
	#depoimentos .souza-testimonial-card {
		width: 100% !important;
	}

	#inicio {
		background-position: 58% center;
		min-height: 560px !important;
	}

	.souza-hero-actions > .elementor-element,
	.souza-hero-actions .elementor-button,
	.souza-final-cta .elementor-button {
		width: 100%;
	}

	.souza-need-card {
		min-height: 384px !important;
	}

	.souza-need-content {
		padding: 24px !important;
	}

	.souza-fleet-image,
	.souza-fleet-image .elementor-widget-container,
	.souza-fleet-image img {
		height: 256px !important;
	}

	.souza-footer-row,
	.souza-footer-brand,
	.souza-footer-phone {
		align-items: center !important;
		text-align: center;
	}

	.souza-footer-phone {
		justify-content: center !important;
	}

	.souza-whatsapp-float {
		bottom: 16px !important;
		right: 16px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
