@charset "UTF-8";

/*@import url('https://googleapis.com');*/
@font-face {
	font-family: 'Roboto';
	/* Aponta para o caminho local onde o arquivo está salvo */
	src: url('../fonts/Roboto-VariableFont_wdth\,wght.ttf') format('truetype-variations'),
		url('../fonts/Roboto-VariableFont_wdth\,wght.ttf') format('truetype');

	/* Define os intervalos suportados pela fonte */
	font-weight: 100 900;
	font-width: 75% 100%;
	font-style: normal;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;

	-webkit-user-select: none;
	/* Safari */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* IE10+/Edge */
	user-select: none;
	/* Padrão (Chrome, Opera, etc.) */
}

html {
	/* Mantém a barra de scroll na página */
	scrollbar-gutter: stable;
}

body {
	font-family: 'Roboto', sans-serif;
	display: flex;
	flex-wrap: wrap;
	flex: 1 1 100vw;
	margin: 3px;
}

/* Pausa o uso do scroll da página*/
body.no-scroll {
	overflow: hidden;
}

header,
nav,
main,
aside,
footer {
	display: flex;
	margin: 3px;
}

header {
	flex: 1 1 100vw;
	flex-direction: column;
}

#openMenu,
#closeMenu {
	border: none;
	background: none;
	font-size: 30px;
	font-weight: bold;
	padding: 0px 5px 0px 5px;
	cursor: pointer;
	display: none;
}

nav {
	justify-content: center;
	align-items: center;
	flex: 1 1 12.5rem;
	z-index: 2;
}

nav a {
	margin: 1em 3%;
	font-size: 1em;
}

main {
	flex: 20 1 31.25rem;
	min-height: calc(100vh - 36.5rem);
}

aside {
	flex: 1 1 12.5rem;
}

footer {
	flex: 1 1 100vw;
	flex-direction: column;
}

a {
	text-decoration: none;
	color: inherit;
}

input,
button {
	all: unset;
}

li {
	list-style: none;
	padding: 0;
	margin: 0;
}

@media only screen and (max-width: 900px) {
	main {
		min-height: calc(100vh - 40rem);
	}
}

@media only screen and (max-width: 717px) {

	#openMenu {
		display: block;
	}

	/* Corrigido para garantir que o botão suma ao abrir */
	#openMenu.hidden {
		display: none;
	}

	#closeMenu {
		display: block;
		position: fixed;
		right: 15px;
		top: 15px;
		z-index: 9999;
		/* Garante que o X fique sempre clicável por cima do menu */
	}

	nav.nav-menu {
		display: flex;
		/* Força o display a ficar ativo para a transição funcionar */
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		width: 50vw;
		/* Mantive os seus 50% de largura da tela */
		height: 100vh;
		align-items: center;
		justify-content: center;
		margin: 0;
		z-index: 9998;

		/* --- ESTADO FECHADO (Forçado com !important para garantir o fechamento) --- */
		opacity: 0;
		transform: translateX(100%);

		/* Transição suave de vinda da direita */
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;

		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		background-color: var(--color-glass);
	}

	/* --- ESTADO ABERTO (Ativado pelo seu JS) --- */
	nav.open-menu {
		opacity: 1;
		transform: translateX(0);
	}

	.aside-left {
		display: none;
	}
}