/* Estilo único conforme solicitado */
:root {
	--bg: #ffffff;
	--text: #000000;
}

.playwrite-nz-guides-regular {
	font-family: "Playwrite NZ Guides", cursive;
	font-weight: 400;
	font-style: normal;
}

body {
	background: var(--bg);
	color: var(--text);
	font-family: system-ui, Arial, sans-serif;
	scroll-behavior: smooth;
}

.container {
	padding-left: 20px;
	padding-right: 20px;
	opacity: 0;
	animation: subirContainer 1.2s ease-out forwards;
	max-width: none !important;
	/*box-shadow: -1px 4px 4px -2px rgba(0, 0, 0, 0.15);*/
}

@keyframes subirContainer {
	to {
		opacity: 1;
	}
}

a,
.navbar-toggler,
button {
	text-decoration: none;
	box-shadow: 2px 2px 5px #97979780;
}

a.nav-link {
	box-shadow: none;
}

.navbar-brand {
	font-weight: 600;
}

.logo img {
	height: 48px;
	width: 48px;
	border-radius: 50%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1s;
	animation: fadeInLogo 2s forwards;
	/*box-shadow: 0 0px 12px rgba(0, 0, 0, 0.4);*/
}

@keyframes fadeInLogo {
	to {
		opacity: 1;
	}
}

.produto-img {
	box-shadow: 0px 0px 12px #00000080;
}

.card.produto {
	align-items: center;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 0px 12px rgba(0, 0, 0, 0.2);
	transition: transform 0.3s, box-shadow 0.3s;
}

.form-control {
	border-radius: 8px;
}

.control-label {
	font-weight: 600;
}

.erro {
	color: #b00020;
}

.icone-empresa {
	font-size: 35px;
	/*color: #1976d2;*/
	color: purple;
	opacity: 0;
	transition: opacity 1s;
	animation: fadeInLogo 2s forwards;
	text-shadow: 2px 2px 5px #00000080;
}

/* Pequenos ajustes específicos para esta página (mantendo o arquivo principal como solicitado) */
.hero {
	padding: 48px 0;
}

.perfil-img {
	max-width: 220px;
	border-radius: 12px;
	opacity: 0;
	transition: opacity 1s;
	animation: fadeInLogo 2s forwards;
	box-shadow: 0 0px 12px rgba(0, 0, 0, 0.4);
}

.timeline {
	border-left: 3px solid #e9ecef;
	padding-left: 18px;
}

.timeline-item {
	margin-bottom: 18px;
}

.cta {
	background: #0d6efd;
	color: #fff;
	border-radius: 10px;
	padding: 12px 20px;
	text-decoration: none;
}

.table.dataTable {
	clear: both;
	margin-top: 6px;
	margin-bottom: 6px;
	max-width: none;
	table-layout: fixed;
	border-collapse: collapse !important;
	font-size: small;
}

#tabelas_wrapper {
	margin-bottom: 20px;
	padding: 0px;
	margin: 0px;
}

table tr:hover {
	cursor: pointer;
}

.table-responsive {
	border: none;
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
	line-height: 1.42857143;
	vertical-align: middle;
	cursor: pointer;
}

.pagination>li>a,
.pagination>li>span {
	font-size: 12px;
	padding: 0 12px;
}

.nome-tab {
	border-radius: 5px;
	background: #205777 !important;
	color: #fff;
	font-weight: 400;
	font-size: 12px;
	height: 30px;
}

.nome-tab:hover {
	cursor: default;
}

.form-label {
	margin-bottom: 0px !important;
	font-weight: 500 !important;
	text-align: justify;
	line-height: 0.1rem;
	font-size: 12px;
	padding-top: 12px;
	height: auto !important;
	width: auto !important;
	text-shadow: 2px 2px 5px #00000080;
}

.btn-cadastro {
	cursor: pointer;
	width: 80px;
	height: 80px;
	border-radius: 50% !important;
	text-align: center;
	font-size: 11px;
}

.btn-escolha {
	width: 35px;
	height: 35px;
	border-radius: 50% !important;
	text-align: center;
	font-size: 32px;
	padding: 0px;
	align-content: space-evenly;
	box-shadow: 0px 0px 12px #00000080;
}

.sombra-bottom-lilas {
	box-shadow: 0 1px 1px 1px #b400ff !important;
}

.sombra-lilas {
	box-shadow: 0 0px 60px -8px #b400ff !important;
}

.sombra-top-bottom {
	box-shadow: 0px 1px 8px -2px #a9a9a9 !important;
}

.sombra-top-bottom-lista {
	box-shadow: 0px 1px 8px -2px #a9a9a9 !important;
}

.sombra-bottom {
	box-shadow: 0px 4px 8px -8px #495057 !important;
}

.sombra-bottom-cupom {
	border-top-color: white;
	border-top-style: groove;
	border-top-width: 1px;
	border-bottom-color: white;
	border-bottom-style: groove;
	border-bottom-width: 1px;
	margin-left: 10px;
	margin-right: 10px;
}

.sombra-bottom-green {
	box-shadow: 0px 4px 8px -3px rgba(43, 139, 68, 1) !important;
}

.sombra-white {
	box-shadow: 0px 4px 8px -3px #ffffff !important;
}

.sombra-footer-top {
	box-shadow: 0px -4px 8px -5px #a9a9a9 !important;
}

.sombra-top {
	box-shadow: 0 0px 2px 0px #495057 !important;
}

.sombra-blue {
	box-shadow: 0px 0px 23px -4px rgba(0, 120, 255, 1) !important;
}

.sombra-secondary {
	box-shadow: 0px 0px 23px -4px #495057 !important;
}

.sombra-green {
	box-shadow: 0px 0px 23px -4px rgba(43, 139, 68, 1) !important;
}

.sombra-red {
	box-shadow: 0px 0px 23px -4px rgba(217, 83, 79, 1) !important;
}

.sombra-yellow {
	box-shadow: 0px 0px 23px -4px rgba(236, 151, 31, 1) !important;
}

.sombra-yellow-bottom {
	box-shadow: 0px -1px 2px 0px rgba(236, 151, 31, 1) !important;
}

.sombra-yellow-completa {
	box-shadow: 0px 0px 2px 0px rgba(236, 151, 31, 1) !important;
}

.sombra-secondary-completa {
	box-shadow: 0px 0px 2px 0px #495057 !important;
	border-radius: 3px;
}

.sombra {
	box-shadow: 0px 0px 35px 4px rgba(31, 31, 31, 1) !important;
	border-radius: 5px;
}

.sombra-left {
	box-shadow: -2px 0px 0px -1px rgba(31, 31, 31, 1) !important;
	border-radius: 5px;
}

.sombra-left-bottom {
	box-shadow: 0px 1px 0px 0px rgba(31, 31, 31, 1);
	border-radius: 5px;
}

.produto-img:hover,
span:hover .title,
span:hover .bi,
button:hover,
a.btn:hover,
label.btn:hover {
	transform: translateY(-2px) scale(1.04) rotate(-3deg);
	box-shadow: 1px 1px 10px 1px green !important;
	filter: brightness(1.08) saturate(1.1);
	transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s,
		filter 0.18s;
	border: 1px solid green !important;
	border-radius: 4px;
}

.favorito-btn:hover,
.navbar-toggler:hover {
	transform: none !important;
	transition: none !important;
}

.produto-img:hover,
span:hover .title,
span:hover .bi,
a:hover .bi {
	color: purple !important;
	border-radius: 4px;
}

a:hover .bi-whatsapp {
	color: white !important;
	border-radius: 4px;
}

img.img-fluid:hover {
	cursor: default;
}

@media (max-width: 991.98px) {
	.navbar-nav {
		width: 55%;
		align-items: flex-start !important;
	}

	.fundo-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/logo.png) center center no-repeat;
		background-size: contain !important;
		opacity: 0.08;
		z-index: 0;
		pointer-events: none;
	}
}


@media (min-width: 992px) {
	.fundo-menu {
		background: none !important;
	}
}

.navbar {
	background: linear-gradient(180deg, rgb(255 234 206) 0%, #f8f9fa 100%);
}

.card-footer {
	background: none !important;
}

.text-lilas {
	color: #b400ff
}

.text-blue {
	color: blue
}

.input:focus {
	box-shadow: 0 0 5px #86b7fe;
	border-color: #86b7fe;
	border-radius: 6px;
}

@media (max-width: 767.98px) {
	#tabelas_filter {
		margin-top: 10px !important;
	}

	#tabelas_length {
		margin-left: 60px !important;
	}

}

@media (max-width: 767.98px) and (orientation: landscape) {
	.container {
		width: 100vw !important;
		min-width: 0 !important;
		max-width: 100vw !important;
	}
}

.nav-item {
	/*width: 110px !important;*/
}

.text-shadow,
.nav-item,
.img,
.nav-link,
.btn,
i,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6 {
	text-shadow: 2px 2px 5px #00000080 !important;
}

span:hover .bi {
	color: white !important;
	border-radius: 4px;
}

/** Estilo para o banner na página inicial */
#btn-plano-flutuante {
	position: fixed;
	justify-self: anchor-center;
	height: 45px;
	left: 20px;
	top: 52px;
	background-color: #0d6efd;
	color: #fff;
	font-size: 16px;
	border-radius: 50px;
	cursor: pointer;
	z-index: 9999;
	transition: 0.3s;
	border: none;

}

#btn-plano-flutuante:hover {
	background-color: #0b5ed7;
}