:root {
	--font-default: "Montserrat", sans-serif;
	--color-white: #fff;
	--color-black: #000;
	--color-grey: #2e2e2e;
	--color-red: #ffb200;
	--color-red-dark: #000;
	--color-yellow-light: #ffb200;
	--color-orange: #ffb200;
	--color-purple: #000;
	--color-secondary: #ffb200;

	--text-heading-lg: 400 clamp(2.5rem, 4.75vw, 6rem) / 1 var(--font-default);
	--text-heading: 400 clamp(1.75rem, 3vw, 4rem) / 1 var(--font-default);

	--text-body: 400 clamp(1rem, 1.25vw, 1.5rem) var(--font-default);
	--text-body-sm: 400 clamp(0.75rem, 1vw, 1.125rem) var(--font-default);

	--text-btn: 700 clamp(1.75rem, 1.8vw, 5rem) / 1 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-white);
	position: relative;
}
body::before {
	content: "";
	position: fixed;
	inset: -25%;
	z-index: 0;
	pointer-events: none;
	background-image: url("../assets/images/bg.webp");
	background-repeat: repeat;
	background-position: center top;
	background-size: min(3621px, 160vw) auto;
	opacity: 0.04;
	transform: rotate(15deg);
	transform-origin: center;
}
body > * {
	position: relative;
	z-index: 1;
}
a {
	color: var(--color-black);
	text-decoration: none;

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

h1,
h3 {
	font: var(--text-heading);
	color: var(--color-black);
	margin: 0;
}

h2 {
	font: var(--text-heading-lg);
	color: var(--color-black);
}

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

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

	& strong {
		font-weight: 800;
	}
}

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

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

/* Buttons */
.btn,
.btn:focus {
	padding: 0 2.5rem;
	height: 4rem;
	font: var(--text-btn);
	border: 0;
	border-radius: 100px;
	transition: 0.567s;

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

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

		border: 2px solid transparent;

		&:hover {
			transform: scale(1.05);
			border-color: var(--color-black);
		}
	}
}

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

.swiper-button-next {
	background-image: url("../assets/images/arrow-right.svg");
	right: 2px;
	width: 38px;
	height: 38px;
	background-size: 24px 24px;
	margin-top: -14px;

	background-color: var(--color-black);
	border-radius: 50%;
	background-position: 75%;
}

.swiper-button-prev {
	background-image: url("../assets/images/arrow-left.svg");
	left: 2px;
	width: 38px;
	height: 38px;
	background-size: 24px 24px;
	margin-top: -14px;

	background-color: var(--color-black);
	border-radius: 50%;
	background-position: 4px;
}

.swiper-container {
	padding-block: 0 2rem;
}

.btn,
.btn:focus,
.btn-default,
.btn-default:focus,
button,
button:focus,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.button:focus,
.sbi_load_btn,
.sbi_load_btn:focus,
.swiper-button-next,
.swiper-button-prev {
	background-color: var(--color-black) !important;
	border-color: var(--color-black) !important;
	color: var(--color-white) !important;
}

.btn:hover,
.btn-default:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.sbi_load_btn:hover,
.swiper-button-next:hover,
.swiper-button-prev:hover {
	background-color: var(--color-black) !important;
	border-color: var(--color-black) !important;
	color: var(--color-white) !important;
}

/* Header */
.navbar-social-mobile {
	display: none;
}

#header {
	background-color: rgba(255, 255, 255, 0.96);
	transition:
		transform 0.5s ease,
		height 0.3s linear;
	z-index: 997;
	height: 90px;

	display: flex;
	flex-direction: column;

	&.header-scrolled {
		box-shadow: 0px 4px 4px 0px #00000040;
	}

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

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

		flex: 1;
	}

	& .social .styled-icons {
		& a {
			position: relative;
			width: 2.5rem;
			height: 2.5rem;

			& i {
				color: var(--color-white);
				font-size: 1.75rem;
			}
		}
	}
}

/* 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: transparent;
			border-radius: 2px;
			visibility: visible;
			width: 0px;
			transition: all 0.3s ease-in-out 0s;
		}
		& > a.button:before {
			visibility: hidden;
		}
	}
	& .btn {
		& a {
			color: var(--color-white);
      font-weight: 700;
		}

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

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

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

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

			&:before {
				visibility: visible;
				width: 17px;
			}
		}
	}
	& li:hover > a {
		color: var(--color-grey);
		&:before {
			visibility: visible;
			width: 17px;
		}
	}
	& .active:before,
	& .current-menu-item a:before {
		visibility: visible;
		width: 17px;
	}
	&.page {
		& a,
		& a:focus {
			color: var(--color-grey);
		}
		& .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-red-dark);
	&.mobile-nav-show {
		color: var(--color-red);
	}
}

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

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

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

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

/* Hero */
#hero {
	padding: 0;

	& .banner {
		position: relative;

		& .img-banner {
			width: 100%;
			height: auto;

			overflow: hidden;

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

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

		& .text {
			position: absolute;
			inset: 0;

			width: 100%;
			height: 100%;

			display: flex;
			align-items: center;

			& h1 {
				color: var(--color-red);
			}
		}
	}
}

#lanches {
	background-color: var(--color-red);

	& .box {
		border-bottom-right-radius: 20%;
		overflow: hidden;

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

		& img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
		}
	}
}

.cta {
	padding-bottom: 3rem;

	display: flex;
	flex-direction: column;
	align-items: center;

	text-align: center;

	h1 {
		color: var(--color-red-dark);
		font: var(--text-heading);
	}

	a {
		margin-bottom: 2rem;
	}
}

#sobre {
	padding-top: 0;

	& .cta {
		a {
			transform: translateY(-50%);
		}
	}

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

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

			border-bottom-right-radius: 17%;
		}
	}

	& .images {
		display: flex;
		flex-direction: column;
		gap: 0.25rem;

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

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

			border-bottom-right-radius: 17%;
		}
	}

	& .content {
		position: relative;
		& .box {
			position: absolute;
			background-color: rgba(255, 255, 255, 0.96);

			width: 110%;
			transform: translateX(-5%);

			padding: 2.25rem clamp(1rem, 2.2vw, 2.5rem);
			border-radius: 3.2rem;

			box-shadow: 34px 7px 58px 0px #0000001c;
		}
	}
}

#contato {
	& .pill {
		border-radius: 100px;
		border: 2px solid var(--color-red);
		background-color: rgba(255, 255, 255, 0.96);
		padding: 0.5rem 1.5rem;
	}

	& .contato-info-list {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 1.75rem;
	}

	& .contato-item {
		display: flex;
		align-items: center;
		gap: 1.25rem;
	}

	& .contato-icon {
		color: var(--color-black);
		flex: 0 0 auto;
		width: 48px;
		height: 48px;
		display: flex;
		align-items: center;
		justify-content: center;

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

		& svg path {
			fill: currentColor;
		}
	}

	& .hours-card {
		margin-top: -1rem;
		border-radius: 38px;
		padding: 2rem;
		background-color: var(--color-red);
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1rem;
		text-align: center;
		color: var(--color-white);
	}

	& .map-container {
		padding-block: 4rem;
		padding-inline: 0;
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}

	& iframe {
		width: 100%;
		aspect-ratio: 21 / 9;
	}

	@media (min-width: 2000px) {
		& iframe {
			aspect-ratio: 29 / 9;
		}
	}

	@media (max-width: 1400px) {
		& iframe {
			aspect-ratio: 18 / 9;
		}
	}
}

#socials {
	& p {
		font: 400 clamp(1.625rem, 2.85vw, 3.25rem) / 1 var(--font-default);
		color: #2e2e2e;
	}

	& .insta {
		.sbi_load_btn {
			padding: 0 3.5rem;
			height: 4rem;
			border: 0;
			border-radius: 100px !important;
			background-color: var(--color-black) !important;
			color: var(--color-white) !important;
			transition: 0.567s;

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

			.sbi_btn_text {
				font: 700 clamp(1.75rem, 2vw, 2.25rem) / 1 var(--font-default);
				color: var(--color-white) !important;
			}
		}
	}
}

& .social .styled-icons {
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 0.75rem;

	& li {
		list-style: none;
	}

	& a {
		position: relative;
		display: block;
		width: 4rem;
		height: 4rem;
		border-radius: 50%;
		border: 0;
		background-color: var(--color-grey);
		text-align: center;
		transition: 0.6s;
		padding: 0;

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

		& i {
			color: var(--color-white);
			font-size: 2.25rem;
		}

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

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

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

/*
    * Footer
*/
footer {
	padding: 70px 0 75px;

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

	h2 {
		text-align: center;
	}

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

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

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

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

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

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

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

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

	.btn {
		background-color: var(--color-black);
		border: 2px solid var(--color-black);
		color: var(--color-white);
		font: var(--text-body);

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

	img {
		width: 380px;
		max-width: 80%;

		margin-inline: auto;
	}
}

/* Estilo do Overlay (Fundo escuro) */
#lanches .box img,
#sobre .image1 img,
#sobre .image2 img,
#sobre .image3 img,
.gallery-item {
	cursor: pointer;
}

.gallery-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	display: none; /* Escondido por padrão */
	justify-content: center;
	align-items: center;
	z-index: 9999;
	cursor: zoom-out;

	& img {
		display: block;
		width: 95%;
		height: auto;
		max-width: 95vw;
		max-height: 90vh;
		margin: 0 auto;
		object-fit: contain;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
		border: 3px solid #fff;
		cursor: default;
		animation: zoomIn 0.3s ease;
	}
}
/* Botão de Fechar */
.lightbox-close {
	position: absolute;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 40px;
	cursor: pointer;
	font-weight: bold;
}

@keyframes zoomIn {
	from {
		transform: scale(0.8);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

/* 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-wrapper {
	position: relative;
	z-index: 10003;
}

#wa_button {
	bottom: 0px;
	right: -35px;
	position: fixed;
	z-index: 10003;
}
.img-circle {
	background-color: var(--color-black);
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
.circlephone {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	border: 2px solid var(--color-black);
	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: var(--color-black);
	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/icons/wpp.svg");
	background-size: 38px;
	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;
	}
}
