:root {
	--font-default: "Montserrat", sans-serif;
	--color-white: #fff;
	--color-black: #000;
	--color-green: #34ce5d;
	--color-orange: #ee7d00;
	--color-grey: #f5f5f5;
	--color-grey-dark: #989898;

	--text-heading-lg: 800 clamp(2rem, 3vw, 3rem) / 1 var(--font-default);
	--text-heading-md: 700 clamp(1.75rem, 2.2vw, 2.25rem) / 1 var(--font-default);
	--text-heading: 700 clamp(1.125rem, 1.5vw, 1.5rem) / 1 var(--font-default);
	--text-heading-sm: 700 clamp(0.75rem, 1vw, 1rem) / 1 var(--font-default);

	--text-body: 400 clamp(0.75rem, 1vw, 1rem) var(--font-default);
	--text-body-bold: 700 clamp(0.75rem, 1vw, 1rem) var(--font-default);

	--text-menu-items: 400 clamp(0.65rem, 1vw, 0.875rem) / 1 var(--font-default);

	scroll-behavior: smooth;
}

html {
	scroll-behavior: smooth;
	scroll-padding: 80px;
}

/* General */
body {
	font: var(--text-body);
	color: var(--color-black);
	background-color: var(--color-grey);
}
a {
	color: var(--color-orange);
	text-decoration: none;

	&:hover {
		color: var(--color-black);
		text-decoration: none;
	}
}

h1,
h2 {
	font: var(--text-heading-lg);
	color: var(--color-orange);
	margin: 0;
}

h3,
h4,
h5,
h6 {
	font: var(--text-heading-md);
	margin: 0;
}

p,
span {
	font: var(--text-body);
	margin: 0;

	& strong {
		font: var(--text-body-bold);
	}
}

li {
	font: var(--text-body);
}

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

/* Buttons */
.btn,
.btn:focus {
	padding: 0 1.125rem;
	height: 2.85rem;
	min-width: clamp(80px, 20vw, 310px);
	font: var(--text-body);
	font-weight: 500;
	border: 0;
	border-radius: 8px;
	transition: 0.567s;

	display: flex;
	align-items: center;
	justify-content: center;

	&.btn-default {
		color: var(--color-white);
		background: var(--color-black);

		&:hover {
			background-color: var(--color-orange);
		}
	}
}

.row {
	row-gap: clamp(1rem, 1.5vw, 1.5rem);
}

/* Header */
#header {
	background-color: var(--color-white);
	transition:
		transform 0.5s ease,
		height 0.3s linear;
	z-index: 997;
	height: 120px;
	box-shadow: 0px 4px 4px 0px #00000040;

	display: flex;
	flex-direction: column;

	& .logo img {
		width: auto;
		height: 40px;
	}

	& .main {
		gap: clamp(100px, 12vw, 130px);
		justify-content: space-between;
		align-items: center;

		flex: 1;
	}

	& .social .styled-icons {
		padding: 0;
		margin: 0;
		display: flex;

		& li {
			list-style: none;
			margin: 0 5px;
		}

		& a {
			position: relative;
			display: block;
			width: 28px;
			height: 28px;
			border-radius: 7px;
			border: 2px solid var(--color-grey-dark);
			background-color: transparent;
			text-align: center;
			transition: 0.6s;
			padding: 0;

			&:hover {
				background-color: var(--color-orange);
				border-color: var(--color-white);

				& i {
					color: var(--color-white);
				}
			}
		}

		& i {
			font-size: 16px;
			line-height: 27px;
			transition: 0.3s;
			color: var(--color-grey-dark);
		}
	}
}

.search-bar {
	background-color: var(--color-grey);
	height: 40px;

	max-width: 100%;
	overflow: hidden;

	& .container {
		height: 100%;

		display: flex;
		align-items: center;

		gap: 0.75rem;

		@media (min-width: 992px) {
			& .barra {
				display: flex;
				justify-content: center;

				flex: 1;
			}
		}
	}

	.search-form {
		all: unset;

		width: 400px;
		max-width: 60%;

		& .search-input-wrapper {
			position: relative;
			display: flex;
			align-items: center;
			border-radius: 8px;
			background: var(--color-white);
			transition: border-color 0.3s ease;

			&:focus-within {
				border-color: var(--color-grey-dark);
				box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
			}
		}

		& #search-input {
			all: unset;

			padding: 2px 0.5rem;

			flex: 1;
			border: none;
			background: transparent;
			font: var(--text-body);
			outline: none;

			&::placeholder {
				color: var(--color-grey-dark);
			}

			@media (max-width: 768px) {
				font-size: 16px; /* Evita zoom automático no iOS */
			}
		}

		& .search-submit {
			border: none;
			background: transparent;
			color: var(--color-grey-dark);
			cursor: pointer;
			transition: color 0.3s ease;
			display: flex;
			align-items: center;
			justify-content: center;

			&:hover {
				color: var(--color-orange);
			}

			&:focus {
				outline: 2px solid var(--color-orange);
				outline-offset: 2px;
				border-radius: 4px;
			}
		}

		& .screen-reader-text {
			position: absolute;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}
	}
}

/* Navbar */
.navbar {
	padding: 0;

	& ul {
		margin: 0;
		padding: 0;

		display: flex;
		column-gap: clamp(2rem, 4.2vw, 4rem);

		list-style: none;
		align-items: center;
	}
	& li {
		position: relative;
	}
	& > ul > li {
		white-space: nowrap;
		& > a:before {
			content: "";
			position: absolute;
			width: 17px;
			height: 4px;
			bottom: -6px;
			left: 50%;
			transform: translateX(-50%);
			background-color: var(--color-orange);
			border-radius: 2px;
			visibility: visible;
			width: 0px;
			transition: all 0.3s ease-in-out 0s;
		}
		& > a.button:before {
			visibility: hidden;
		}
	}
	& .btn-default {
		& a {
			color: var(--color-white);
		}

		&:hover {
			& a {
				color: var(--color-white);
				&:hover {
					color: var(--color-white);
				}
			}
		}
	}
	& a,
	& a:focus {
		font: var(--text-body);
		text-transform: uppercase;

		display: flex;
		align-items: center;
		justify-content: space-between;

		padding: 0;
		color: var(--color-black);
		white-space: nowrap;
		transition: 0.3s;
		position: relative;

		&:hover,
		&.active,
		&.active:focus {
			color: var(--color-orange);

			&:before {
				visibility: visible;
				width: 17px;
			}
		}
	}
	& li:hover > a {
		color: var(--color-orange);
		&:before {
			visibility: visible;
			width: 17px;
		}
	}
	& .active:before,
	& .current-menu-item a:before {
		visibility: visible;
		width: 17px;
	}
	&.page {
		& a,
		& a:focus {
			color: var(--color-orange);
		}
		& .current-menu-item a:before {
			visibility: visible;
			width: 17px;
		}
	}
	& .dropdown {
		& ul {
			display: block;
			position: absolute;
			left: 28px;
			top: calc(100% + 30px);
			margin: 0;
			padding: 10px 0;
			z-index: 99;
			opacity: 0;
			visibility: hidden;
			background: var(--color-beige);
			box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
			transition: 0.3s;
			border-radius: 4px;
			& li {
				min-width: 200px;
			}
			& a {
				padding: 10px 20px;
				font-size: 15px;
				text-transform: none;
				font-weight: 600;
				color: var(--color-orange);
				& i {
					font-size: 12px;
				}
				&:hover {
					color: var(--color-grey);
				}
			}
			& .active:hover,
			& li:hover > a {
				color: var(--color-grey);
			}
		}
		&:hover > ul {
			opacity: 1;
			top: 100%;
			visibility: visible;
		}
		& .dropdown {
			& ul {
				top: 0;
				left: calc(100% - 30px);
				visibility: hidden;
			}
			&:hover > ul {
				opacity: 1;
				top: 0;
				left: 100%;
				visibility: visible;
			}
		}
	}
	&.navbar-mobile {
		& > ul > li > a {
			&:before {
				visibility: hidden;
				height: 0;
				width: 0;
				background-color: transparent;
			}
			&:focus,
			&:hover,
			&:hover:focus {
				color: var(--color-grey);
			}
		}
		& .current-menu-item a:before {
			visibility: hidden;
			height: 0;
			width: 0;
			background-color: transparent;
		}
		& .button,
		& .button:focus {
			margin: 10px 20px;
		}
	}
	& .menu-item-has-children {
		& ul {
			display: block;
			position: absolute;
			left: 28px;
			top: calc(100% + 30px);
			margin: 0;
			padding: 10px 0;
			z-index: 99;
			opacity: 0;
			visibility: hidden;
			background: transparent;
			box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
			transition: 0.3s;
			border-radius: 1px;
		}
		&:hover > ul {
			opacity: 1;
			top: 100%;
			visibility: visible;
		}
	}
}

/* Mobile Navigation */
.mobile-nav-show {
	position: absolute;
	right: 15px;
	font-size: 28px;
	cursor: pointer;
	line-height: 0;
	transition: 0.5s;
	margin-left: 10px;
}

.mobile-nav-hide {
	color: var(--color-orange);
	font-size: 32px;
	cursor: pointer;
	line-height: 0;
	transition: 0.5s;
	position: fixed;
	right: 20px;
	top: 20px;
	z-index: 9999;
}

.mobile-nav-active {
	overflow: hidden;
	& .navbar {
		right: 0;
		&:before {
			content: "";
			position: fixed;
			inset: 0;
			background: rgba(0, 0, 0, 0.6);
			z-index: 9996;
		}
	}
	& #navbar_dir.navbar:before {
		background: transparent;
	}
}

i.mobile-nav-toggle {
	color: var(--color-black);
	&.mobile-nav-show {
		color: var(--color-black);
	}
}

.search-menu {
	background-color: #f1f1f1;
	padding: 5px 0;
}

/* Section */
section {
	padding-block: 4rem;
}

.swiper-pagination-bullet-active {
	background: var(--color-orange);
}

.to_right {
	margin-left: auto;
}
.to_left {
	margin-right: auto;
}
.section-title {
	margin-bottom: 2.5rem;
}
.mb_only {
	display: none;
}

/* Hero */
#hero {
	background: linear-gradient(
		to bottom,
		var(--color-white) 50%,
		var(--color-grey) 50%
	);
	padding-block: 0;
	padding-top: 1.5rem;

	& .banner {
		padding-inline: clamp(0.75rem, 1.75vw, 2rem);

		& .img-banner {
			width: 100%;
			aspect-ratio: 32/9;

			border-radius: 1.75rem;
			overflow: hidden;

      position: relative;

			& img {
				width: 100%;
				height: 100%;

				object-fit: cover;
				object-position: center;
			}

      & a {
        position: absolute;
		  
		transform: translatex(50%);

        bottom: 50px;
        right: 50%;
		
		text-transform: uppercase;
      }
		}
	}
}

/* Destaques */
/* #destaques {
	
} */

/* Consumidores */
#consumidores {
	& .costumers {
		width: 100%;
		height: 100%;

		.img-wrapper {
			position: relative;
			overflow: hidden;

			.bg {
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: -1;

				background-color: var(--color-orange);
				width: 100%;
				height: 80%;

				border-radius: 24px;
			}

			img {
				width: 100%;
				height: auto;
			}
		}

		.title {
			padding: 0.75rem;
			text-align: center;

			h3 {
				font: var(--text-heading);
				font-weight: 800;
			}
		}
	}
}

/* Ctas */
#ctas {
	padding-bottom: 0;

	&.sobre {
		padding-bottom: 4rem;
	}

	& .box {
		display: block;

		width: 100%;
		aspect-ratio: 16/9;

		position: relative;

		z-index: 3;

		border-radius: 28px;
		overflow: hidden;

		img {
			width: 100%;
			height: 100%;

			object-fit: cover;
			object-position: center;
		}

		.text {
			position: absolute;
			z-index: 9;

			width: 67%;

			transform: translate(-50%, -50%);

			top: 50%;
			left: 50%;

			text-align: center;

			h2 {
				font: var(--text-heading-md);
				color: var(--color-white);
				margin-bottom: 0.75rem;
			}

			p {
				padding-inline: 2.5rem;
				color: var(--color-white);
			}
		}
	}
}

#sobre {
	padding: 0;
	margin-top: -5rem;

	position: relative;

	background-color: var(--color-white);

	.container-fluid {
		img {
			width: 100%;
			height: auto;
		}
	}

	.text {
		position: absolute;
		transform: translateY(-50%);

		top: 50%;

		width: 100%;

		h2 {
			color: var(--color-black);

			margin-bottom: 2.5rem;

			& strong {
				color: var(--color-orange);
				font-weight: 800;
			}
		}
	}

	@media (min-width: 992px) {
		.block-e {
			padding-left: 6rem;
		}
	}
}

/*
    * Footer
*/
footer {
	background-color: var(--color-black);
	padding: 70px 0 75px;

	color: var(--color-white);

	& .outros,
	& .menu {
		list-style: none;
		margin: 0;
		padding: 0;
		a {
			display: block;
			margin-block: 0.75rem;
			font: var(--text-body);
			text-transform: uppercase;
			color: var(--color-white);

			&:hover {
				color: var(--color-orange);
				font-weight: 500;
			}
		}
	}

	& .social .styled-icons {
		padding: 0;
		margin: 0;
		display: flex;

		& li {
			list-style: none;
			margin: 0 5px;
		}

		& a {
			position: relative;
			display: block;
			width: 36px;
			height: 36px;
			border-radius: 7px;
			border: 2px solid var(--color-orange);
			background-color: transparent;
			text-align: center;
			transition: 0.6s;
			padding: 0;

			display: flex;
			align-items: center;
			justify-content: center;

			& i {
				color: var(--color-orange);
				font-size: 1.5rem;
			}

			&:hover {
				background-color: var(--color-orange);
				border-color: var(--color-white);

				& i {
					color: var(--color-white);
				}
			}
		}

		& i {
			font-size: 16px;
			line-height: 27px;
			transition: 0.3s;
			color: var(--color-grey-dark);
		}
	}
}

/*
    * Outras Paginas
*/
/* Sobre */
#hero-video {
	padding: 1.5rem 0 0 0;
	background-color: var(--color-white);

	& .video-container {
		padding-inline: 2rem;
	}

	.videoWrapper {
		position: relative;
		width: 100%;
		border-radius: 30px;
		overflow: hidden;
		z-index: 99;

		/* Video iframe */
		& .videoIframe {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			width: 100%;
			height: 100%;
			border: 0;
		}

		/* Video poster */
		& .videoPoster {
			position: absolute;
			top: 0;
			right: 0;
			left: 0;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			cursor: pointer;
			border: 0;
			outline: none;
			background-position: center;
			background-size: cover;
			text-indent: -999em;
			overflow: hidden;
			opacity: 1;
			transition:
				opacity 800ms,
				height 0s;
			transition-delay: 0s, 0s;

			/* Play button circle */
			&:before {
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				width: 100px;
				height: 100px;
				margin: -50px 0 0 -50px;
				border: 5px solid var(--color-white);
				border-radius: 100%;
				transition: border-color 300ms;
				border-left-color: var(--color-white);
				border-right-color: var(--color-white);
			}

			/* Play button triangle */
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				width: 0;
				height: 0;
				margin: -15px 0 0 -11px;
				border-left: 30px solid var(--color-white);
				border-top: 15px solid transparent;
				border-bottom: 15px solid transparent;
				transition: border-color 300ms;
			}

			/* Hover and focus states */
			&:hover:before,
			&:focus:before {
				border-color: var(--color-white);
			}

			&:hover:after,
			&:focus:after {
				border-left-color: var(--color-white);
			}
		}

		&.videoWrapper43 {
			aspect-ratio: 4/3;
		}
		&.videoWrapper169 {
			aspect-ratio: 16/9;
		}
		&.videoWrapper219 {
			aspect-ratio: 21/9;
		}
		&.videoWrapper249 {
			aspect-ratio: 24/9;
		}
	}

	/* Active state - video playing */
	& .videoWrapperActive {
		& .videoPoster {
			opacity: 0;
			height: 0;
			transition-delay: 0s, 800ms;
		}
	}
}
/* Conteudo de Sobre */
#sobre-nos {
	background-color: var(--color-white);

	& h1 {
		color: var(--color-black);

		& strong {
			color: var(--color-orange);
			font-weight: 800;
		}
	}

	& .gallery {
		width: 100%;

		display: grid;
		gap: 1rem;

		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(2, 366px);

		.gallery-item {
			overflow: hidden;
			width: 100%;
			height: 100%;

			& img {
				width: 100%;
				height: 100%;

				object-fit: cover;
				object-position: center;
			}
		}

		& .position-1 {
			grid-column: span 2;
		}
	}
}

/* Pagina para listagem de Produtos */
#produtos {
	& .box {
		border-radius: 18px;
		overflow: hidden;

		width: 100%;
		aspect-ratio: 1/1;

		margin-top: 2rem;

		& .wrapper {
			width: 100%;
			height: 100%;

			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;

			display: flex;
			align-items: center;
			justify-content: center;

			text-align: center;

			padding: 1.5rem;
		}

		& h3 {
			font: var(--text-heading);
			font-weight: 400;
			color: var(--color-white);

			& strong {
				font-weight: 700;
			}
		}
	}

	& span.path {
		text-transform: uppercase;
		color: var(--color-grey-dark);
	}

	& .estilo-lista {
		display: flex;
		align-items: center;
		gap: 0.5rem;

		& .btn-view {
			color: var(--color-grey-dark);

			&:hover {
				color: var(--color-black);
			}
		}
	}
}

/* Box Produtos */
& .product {
	width: 100%;
	height: 100%;

	padding: 1.25rem 1.125rem;

	background-color: var(--color-white);
	border-radius: 18px;

	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.5rem;

	span {
		font: 400 0.5rem / 1 var(--font-default);
	}

	.category {
		position: absolute;

		& span {
			background-color: var(--color-green);
			padding: 3px 1rem;

			border-radius: 3px;

			color: var(--color-white);
			font-weight: 500;
		}
	}

	.thumbnail {
		& img {
			width: 100%;
			aspect-ratio: 1/1;

			object-fit: cover;
			object-position: center;
		}
	}

	.all {
		color: var(--color-orange);
		padding-bottom: 0.5rem;
		margin-top: -7px;

		& span {
			text-transform: uppercase;
		}
	}

	& .title {
		margin-bottom: 1rem;
		flex: 1;

		text-align: center;

		display: flex;
		align-items: center;

		& h3 {
			font: var(--text-heading);
		}
	}

	& .cta {
		& .btn {
			min-width: clamp(90px, 12vw, 210px);
			padding-inline: 0;
		}
	}

	&.list {
		width: 100%;
		height: 8rem;

		padding: 0.5rem 1rem;

		flex-direction: row;
		align-items: center;
		gap: clamp(0.5rem, 1.25vw, 1.5rem);

		& .thumbnail {
			height: 100%;
			/* min-width: 30%; */

			& img {
				width: auto;
				height: 100%;
				aspect-ratio: 4/3;

				object-fit: cover;
				object-position: center;
			}

			@media (max-width: 992px) {
				min-width: 20%;
			}
		}

		& .category {
			top: 4px;
			left: 1rem;
		}

		& .title {
			margin-bottom: 0;
			padding-inline: 0.5rem;
		}

		& .all {
			display: none;
		}
	}
}

#menu-toggle {
	display: none;
}

.btn-sort,
.btn-view {
	background: none;
	border: none;
	cursor: pointer;
	padding: 5px;
	transition: all 0.3s ease;
}

.btn-view.active {
	color: #1d1d1b;
}

.btn-sort:hover,
.btn-view:hover {
	opacity: 0.7;
}

.produto-item {
	transition: all 0.3s ease;
}

/* Interno de Produto */
#interno {
	.ml-auto {
		margin-left: auto;
	}

	span {
		color: var(--color-grey-dark);
		font: 400 clamp(0.5rem, 1vw, 0.75rem) / 1 var(--font-default);
		text-transform: uppercase;
	}

	& .title {
		margin-block: 2rem;

		h1 {
			font: var(--text-heading-md);
			color: var(--color-black);
		}
	}

	& .product-images {
		img {
			width: 100%;
			height: 100%;

			object-fit: cover;
			object-position: center;
		}

		& .galeriaThumb {
			padding-top: 0.5rem;
			& .wrapper {
				width: 100%;
				aspect-ratio: 13/9;
			}
		}
	}

	& .categoria {
		margin-bottom: 1.5rem;

		.wrapper {
			display: flex;
			gap: 0.5rem;
			align-items: center;

			margin-top: 0.5rem;

			& p {
				font: var(--text-heading-sm);
			}
		}
	}

	& .acabamentos {
		margin-bottom: 1.5rem;

		& .item {
			display: flex;
			gap: 0.5rem;
			align-items: center;

			margin-top: 0.5rem;

			& p {
				font: var(--text-heading-sm);
			}
		}
	}

	.descricao {
		padding-block: 0.5rem 2.5rem;
	}

	& .medidas {
		margin-bottom: 1.5rem;

		/* Estilo de tabela */
		table {
			width: 100%;
			border-collapse: collapse;
			border: 1px solid var(--color-grey-dark);

			/* Cabeçalho da tabela */
			& tr:first-child td {
				color: var(--color-black);
				font-weight: 800;
				text-transform: uppercase;
				letter-spacing: 0.5px;
			}

			/* Células */
			& td {
				padding: 12px 16px;
				border: 1px solid var(--color-grey-dark);
				text-align: left;

				/* Primeira coluna (código) */
				&:first-child {
					font-weight: 500;
					color: #1a1a1a;
				}
			}

			/* Linhas (exceto cabeçalho) */
			& tr:not(:first-child) {
				/* Linhas pares */
				&:nth-child(even) {
					background-color: var(--color-white);
				}
			}

			/* Responsivo */
			@media (max-width: 768px) {
				& td {
					padding: 8px 12px;
				}
			}
		}
	}

	p.title {
		font: var(--text-heading-sm);
	}

	iframe {
		width: 100%;
		aspect-ratio: 16/9;
	}
}
#relacionado {
	background-color: var(--color-white);
}

/* Slider Categorias */
#slider-cat {
	background-color: var(--color-white);

	.categoria {
		width: 100%;
		aspect-ratio: 1/1;

		border-radius: 17px;

		display: flex;
		flex-direction: column;
		gap: clamp(1.75rem, 2.25vw, 2.5rem);
		align-items: center;
		justify-content: center;

		padding: 1rem 0.75rem;

		background-color: var(--color-grey);

		&:hover {
			span {
				color: var(--color-grey-dark);
			}
		}

		& .icon {
			min-height: 82px;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		& .title {
			text-align: center;

			span {
				font: var(--text-heading-sm);
				color: var(--color-black);
			}
		}
	}
}

/* Menu Lateral de Produtos */
.menu-categorias-sidebar {
	background: var(--color-white);
	border-radius: 17px;
	overflow: hidden;
}

.categoria-item:last-child {
	border-bottom: none;
}

.categoria-header {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	cursor: pointer;
	transition: all 0.3s ease;
	gap: 12px;
}

.categoria-header:hover {
	filter: brightness(1.1);
}

.categoria-icon {
	width: 24px;
	height: 24px;
	border-radius: 4px;
	flex-shrink: 0;
}

.categoria-titulo {
	flex: 1;
	margin: 0;
	color: var(--color-black);
	font: var(--text-heading-sm);
}

.categoria-toggle {
	color: var(--color-black);
	transition: transform 0.3s ease;
}

.categoria-item.open .categoria-toggle {
	transform: rotate(180deg);
}

.categoria-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: var(--color-white);
}

.categoria-item.open .categoria-content {
	max-height: 2000px;
}

.produtos-loading {
	padding: 20px;
	text-align: center;
	color: var(--color-grey-dark);
}

.lista-produtos {
	list-style: none;
	margin: 0;
	padding: 0;
}

.produto-item {
	border-bottom: 1px solid #e0e0e0;
}

.produto-item:last-child {
	border-bottom: none;
}

.produto-item a {
	display: flex;
	align-items: center;
	padding: 12px 20px;
	text-decoration: none;
	color: #333;
	transition: background 0.2s ease;
	gap: 12px;
}

.produto-item a:hover {
	background: #f0f0f0;
}

.produto-thumb {
	width: 50px;
	height: 50px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 4px;
}

.produto-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.produto-info {
	flex: 1;
}

.produto-info h4 {
	margin: 0 0 4px 0;
	font-size: 14px;
	font-weight: 500;
}

.sem-produtos {
	padding: 20px;
	text-align: center;
	color: #666;
	font-style: italic;
}

@media (max-width: 768px) {
	.menu-categorias-sidebar {
		margin-bottom: 20px;
	}
}
/*  */

/* Listagem de produtos */
#list-products {
	color: var(--color-green);

	h1 {
		color: var(--color-green);
	}

	& .box {
		width: 100%;
		height: auto;

		padding: 1rem;

		.produto {
			background-color: var(--color-orange);

			width: 100%;
			aspect-ratio: 1/1;

			border-radius: 50%;

			display: flex;
			align-items: center;
			justify-content: center;

			& img {
				width: 100%;
				height: 100%;

				object-fit: contain;

				transition: scale 0.4s linear;
			}
		}

		& .title {
			text-align: center;

			margin-top: 1.75rem;

			color: var(--color-green);
		}

		&:hover {
			& img {
				scale: 1.08;
			}
		}
	}
}

/* Interna de Produtos */
#internal-product {
	margin-top: 90px;

	& .post_thumb {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	& .title {
		margin-bottom: 2.5rem;

		& h1 {
			color: var(--color-green);
		}
	}
	& .body {
		color: var(--color-black);
		h2 {
			color: var(--color-green);
			font: var(--text-heading);
		}
	}
}

#related-products {
	h2 {
		color: var(--color-green);
		font: var(--text-heading-md);
	}

	& .box {
		width: 100%;
		height: auto;

		padding: 1rem;

		color: var(--color-green);

		.produto {
			background-color: var(--color-orange);

			width: 100%;
			aspect-ratio: 1/1;

			border-radius: 50%;

			display: flex;
			align-items: center;
			justify-content: center;

			& img {
				width: 100%;
				height: 100%;

				object-fit: contain;

				transition: scale 0.4s linear;
			}
		}

		& .title {
			text-align: center;

			margin-top: 1.75rem;
		}

		&:hover {
			& img {
				scale: 1.08;
			}
		}
	}
}
/* end */

/* Lingotes */

#heroLingote {
	background-image: url(../assets/servicos/banner-hero.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;

	padding: 0;

	h1 {
		color: var(--color-white);

		& strong {
			color: var(--color-orange);
		}
	}

	p {
		color: var(--color-white);
	}

	.wrapper {
		width: 100%;
		aspect-ratio: 4/3;

		position: relative;

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;

			position: absolute;
			top: 150px;

			z-index: 3;
		}
	}
}
/* ============================================
   SEÇÃO: Produção Eficiente
   ============================================ */
#producaoEficiente {
	background-color: var(--color-white);

	.image-wrapper {
		border-radius: 16px;
		overflow: hidden;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);

		position: relative;
		bottom: -150px;

		img {
			width: 100%;
			height: auto;
		}
	}

	h2 {
		color: var(--color-orange);
		font-size: 36px;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	p {
		color: var(--color-dark-gray);
		font-size: 16px;
		line-height: 1.8;
		margin-bottom: 24px;
	}

	ul {
		list-style: none;
		padding-left: 0;
		margin-bottom: 24px;

		li {
			color: var(--color-dark-gray);
			font-size: 16px;
			line-height: 1.8;
			padding-left: 24px;
			position: relative;
			margin-bottom: 12px;

			&::before {
				content: "•";
				color: var(--color-orange);
				font-size: 24px;
				position: absolute;
				left: 0;
				top: -4px;
			}
		}
	}

	.destaque {
		font-weight: 600;
		color: var(--color-black);
	}
}

/* ============================================
   SEÇÃO: Liga Certa (Banner Laranja)
   ============================================ */
#ligaCerta {
	background-color: var(--color-orange);
	color: var(--color-white);

	.container:nth-child(1) {
		padding-top: 8rem;
	}

	h2 {
		color: var(--color-white);
		font-size: 36px;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	.intro {
		font-size: 16px;
		line-height: 1.8;
		max-width: 800px;
		margin: 0 auto 48px;
	}

	.features-grid {
		margin-bottom: 48px;
	}

	.feature-card {
		text-align: center;
		padding: 32px 16px;

		.icon {
			width: 64px;
			height: 64px;
			margin: 0 auto 24px;
			display: flex;
			align-items: center;
			justify-content: center;

			svg {
				color: var(--color-white);
				width: 48px;
				height: 48px;
			}
		}

		h3 {
			color: var(--color-white);
			font-size: 20px;
			font-weight: 600;
			line-height: 1.4;
			margin: 0;
		}
	}

	.footer-text {
		font-size: 14px;
		margin-bottom: 32px;
		font-style: italic;
	}

	.btn-dark {
		background-color: var(--color-black);
		color: var(--color-white);
		padding: 16px 48px;
		border-radius: 30px;
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
		display: inline-block;
		transition: all 0.3s ease;
		border: none;

		&:hover {
			background-color: var(--color-grey-dark);
			transform: translateY(-2px);
			color: var(--color-white);
			text-decoration: none;
		}
	}
}

/* ============================================
   SEÇÃO: Diferencial
   ============================================ */
#diferencial {
  padding-block: 8rem;

	background:
		linear-gradient(to right, rgba(0, 0, 0, 0.9) 30%, transparent),
		url(../assets/servicos/empilhados.png);
	background-size: cover;
	background-repeat: no-repeat;

  color: var(--color-white);

	h2 {
		font-size: 36px;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 24px;

		strong {
			color: var(--color-orange);
		}
	}

	p {
		font-size: 16px;
		line-height: 1.8;
		margin-bottom: 24px;
	}

	ul {
		list-style: none;
		padding-left: 0;
		margin-bottom: 32px;

		li {
			color: var(--color-white);
			font-size: 16px;
			line-height: 1.8;
			padding-left: 24px;
			position: relative;
			margin-bottom: 12px;

			&::before {
				content: "•";
				color: var(--color-orange);
				font-size: 24px;
				position: absolute;
				left: 0;
				top: -4px;
			}
		}
	}

	.destaque {
		font-weight: 600;
		color: var(--color-white);
	}

	.btn-primary {
		background-color: var(--color-orange);
		color: var(--color-white);
		padding: 16px 48px;
		border-radius: 30px;
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
		display: inline-block;
		transition: all 0.3s ease;
		border: none;

		&:hover {
			background-color: var(--color-grey-dark );
			transform: translateY(-2px);
			box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
			color: var(--color-white);
			text-decoration: none;
		}
	}

	.image-wrapper {
		border-radius: 16px;
		overflow: hidden;

		img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

/* ============================================
   SEÇÃO: CTA Final
   ============================================ */
#ctaFinal {
	background-color: #f5f5f5;
	padding: 80px 0;

	h2 {
		color: var(--color-orange);
		font-size: 36px;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 16px;
	}

	.subtitle {
		color: var(--color-dark-gray);
		font-size: 18px;
		font-weight: 500;
		margin-bottom: 16px;
	}

	.description {
		color: var(--color-medium-gray);
		font-size: 16px;
		line-height: 1.8;
		max-width: 600px;
		margin: 0 auto 32px;
	}

	.btn-primary {
		background-color: var(--color-black);
		color: var(--color-white);
		padding: 16px 48px;
		border-radius: 30px;
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
		display: inline-block;
		transition: all 0.3s ease;
		border: none;
		margin-bottom: 48px;

		&:hover {
			background-color: var(--color-orange);
			transform: translateY(-2px);
			box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
			color: var(--color-white);
			text-decoration: none;
		}
	}

	.logo-footer {
		max-width: 200px;
		margin: 0 auto;

		img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

/* ============================================
   RESPONSIVIDADE
   ============================================ */

/* Tablet */
@media (max-width: 992px) {
	#producaoEficiente,
	#ligaCerta,
	#diferencial,
	#ctaFinal {
		padding: 60px 0;
	}

	#producaoEficiente h2,
	#ligaCerta h2,
	#diferencial h2,
	#ctaFinal h2 {
		font-size: 32px;
	}

	#ligaCerta .features-grid {
		gap: 24px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	#producaoEficiente,
	#ligaCerta,
	#diferencial,
	#ctaFinal {
		padding: 40px 0;
	}

	#producaoEficiente h2,
	#ligaCerta h2,
	#diferencial h2,
	#ctaFinal h2 {
		font-size: 28px;
	}

	#producaoEficiente .image-wrapper,
	#diferencial .image-wrapper {
		margin-bottom: 32px;
	}

	#ligaCerta .intro {
		font-size: 14px;
	}

	#ligaCerta .feature-card h3 {
		font-size: 18px;
	}

	.btn-primary,
	.btn-dark {
		padding: 14px 32px;
		font-size: 13px;
	}

	#ctaFinal .subtitle {
		font-size: 16px;
	}

	#ctaFinal .description {
		font-size: 14px;
	}
}

/* End */

.pagination {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.pagination-item {
	margin-right: 18px;
}
.pagination-item a {
	padding: 11px 16px 11px 16px;
	display: inline-block;
	transition: 0.2s all;
	color: var(--color-demi-black);
	background-color: var(--color-black);
	border: solid 1px var(--color-black);
	border-radius: 10px;
}
.pagination-item a:hover {
	color: var(--color-black);
	background-color: transparent;
	border: solid 1px var(--color-demi-black);
}
.pagination-item span.current {
	padding: 11px 16px 11px 16px;
	display: inline-block;
	transition: 0.2s all;
	color: var(--color-black);
	background-color: var(--color-black);
	border: solid 1px var(--color-black);
	border-radius: 10px;
}

/* Form */
.form-control {
	background-color: var(--color-white);
	color: var(--color-black);
	height: 55px;
	font-family: var(--font-default);
	font-weight: 400;
	border-radius: 10px;
}
.form-group input::-moz-placeholder {
	color: var(--color-white);
}
.form-group input:-ms-input-placeholder {
	color: var(--color-white);
}
.form-group input::placeholder {
	color: var(--color-demi-black);
	padding: 0 10px;
}
.form-group textarea::placeholder {
	color: var(--color-demi-black);
	padding: 0 10px;
}
select {
	color: var(--color-black) !important;
	background-color: var(--color-white);
}
option:not(:first-of-type) {
	color: var(--color-black);
}
select option:first-child {
	display: none;
}
select.form-control {
	-webkit-appearance: menulist !important;
	-moz-appearance: menulist !important;
	-ms-appearance: menulist !important;
	-o-appearance: menulist !important;
	appearance: menulist !important;
}
textarea.form-control {
	min-height: calc(10.5em + 0.75rem + 2px);
}
.form-control:focus,
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="number"]:focus,
form input[type="url"]:focus,
form input[type="search"]:focus,
form input[type="tel"]:focus,
form input[type="password"]:focus,
form input[type="date"]:focus,
form input[type="color"]:focus,
form select:focus,
form textarea:focus {
	color: var(--color-black);
	background-color: var(--color-white);
	border-color: var(--color-demi-black);
	-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
	outline: none;
}
label.form-control {
	color: var(--color-demi-black);
	padding-top: 9px;
}

/* Contact Form 7 */
.wpcf7-not-valid-tip {
	font-weight: 700 !important;
	color: var(--color-orange);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--color-orange);
}
.wpcf7 form .wpcf7-response-output {
	color: var(--color-white);
}

/* Voltar ao topo */
.back-to-top {
	visibility: hidden;
	background-color: var(--color-black);
	color: var(--color-demi-black);
	width: 72px;
	height: 72px;
	text-align: center;
	line-height: 72px;
	position: fixed;
	bottom: 110px;
	right: 15px;
	z-index: 90;
	cursor: pointer;
	opacity: 0;
	border-radius: 3px;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	transition: all 0.4s;
}
.back-to-top i {
	font-size: 22px;
	vertical-align: middle;
}
.back-to-top:hover {
	background-color: var(--color-white);
	color: var(--color-demi-black);
	opacity: 1;
}
.back-to-top.show {
	visibility: visible;
	opacity: 1;
}

/*
  * Botao Flutuante Whatsapp
*/
#wa_button {
	bottom: 0px;
	right: -35px;
	position: fixed;
	z-index: 999;
}
.img-circle {
	background-color: #25d366;
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
.circlephone {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	border: 2px solid #25d366;
	width: 150px;
	height: 150px;
	bottom: -25px;
	right: 10px;
	position: absolute;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	opacity: 0.5;
	-webkit-animation: circle-anim 2.4s infinite ease-in-out !important;
	-moz-animation: circle-anim 2.4s infinite ease-in-out !important;
	-ms-animation: circle-anim 2.4s infinite ease-in-out !important;
	-o-animation: circle-anim 2.4s infinite ease-in-out !important;
	animation: circle-anim 2.4s infinite ease-in-out !important;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
.circle-fill {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	background-color: #25d366;
	width: 100px;
	height: 100px;
	bottom: 0px;
	right: 35px;
	position: absolute;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	border: 2px solid transparent;
	-webkit-animation: circle-fill-anim 2.3s infinite ease-in-out;
	-moz-animation: circle-fill-anim 2.3s infinite ease-in-out;
	-ms-animation: circle-fill-anim 2.3s infinite ease-in-out;
	-o-animation: circle-fill-anim 2.3s infinite ease-in-out;
	animation: circle-fill-anim 2.3s infinite ease-in-out;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
.img-circle {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	width: 72px;
	height: 72px;
	bottom: 14px;
	right: 49px;
	position: absolute;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	border: 2px solid transparent;
	opacity: 0.9;
}
.img-circleblock {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	width: 72px;
	height: 72px;
	background-image: url("../assets/images/wp.png");
	background-position: center center;
	background-repeat: no-repeat;
	animation-name: tossing;
	-webkit-animation-name: tossing;
	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}
.img-circle:hover {
	opacity: 1;
}
@keyframes pulse {
	0% {
		transform: scale(0.9);
		opacity: 1;
	}
	50% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(0.9);
		opacity: 1;
	}
}
@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(0.95);
		opacity: 1;
	}
	50% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(0.95);
		opacity: 1;
	}
}
@keyframes tossing {
	0% {
		transform: rotate(-8deg);
	}
	50% {
		transform: rotate(8deg);
	}
	100% {
		transform: rotate(-8deg);
	}
}
@-webkit-keyframes tossing {
	0% {
		-webkit-transform: rotate(-8deg);
	}
	50% {
		-webkit-transform: rotate(8deg);
	}
	100% {
		-webkit-transform: rotate(-8deg);
	}
}
@-moz-keyframes circle-fill-anim {
	0% {
		-moz-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
	50% {
		-moz-transform: rotate(0deg) -moz-scale(1) skew(1deg);
		opacity: 0.2;
	}
	100% {
		-moz-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
}
@-webkit-keyframes circle-fill-anim {
	0% {
		-webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
	50% {
		-webkit-transform: rotate(0deg) scale(1) skew(1deg);
		opacity: 0.2;
	}
	100% {
		-webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
}
@-o-keyframes circle-fill-anim {
	0% {
		-o-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
	50% {
		-o-transform: rotate(0deg) scale(1) skew(1deg);
		opacity: 0.2;
	}
	100% {
		-o-transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
}
@keyframes circle-fill-anim {
	0% {
		transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
	50% {
		transform: rotate(0deg) scale(1) skew(1deg);
		opacity: 0.2;
	}
	100% {
		transform: rotate(0deg) scale(0.7) skew(1deg);
		opacity: 0.2;
	}
}