/* ROOT */
:root {
    --azul: #0CC5FF;
    --vermelho: #F84B4B;
    --cinza-claro: #F9F9F9;
    --cinza: #EEEEEE;
    --cinza-escuro: #AAAAAA;
    --branco: #FFFFFF;
    --preto: #adaaaa;

    --roxo: #845ADF;
    --verde: #26BF94;
    --amarelo: #F5B849;
    --ciano: #0CC5FF;

    --text: 'Montserrat', sans-serif;
    --medida: 1.5rem;
}



/* ESTRUTURA */

/* scrollbar */
* {
	scrollbar-width: auto;
	scrollbar-color: #00000044 transparent;
}
/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
	width: 10px;
}
*::-webkit-scrollbar-track {
	background: transparent;
	width: 10px;
}
*::-webkit-scrollbar-thumb {
	background-color: #00000044;
	border-radius: 10px;
	border: 0;
}

/* body */
body {
	font-family: var(--text);
	font-size: calc(var(--medida) * .65);
	padding-top: calc(var(--medida) * 2.5);
}
body.ativo {
	overflow: hidden;
}

/* container */
.container,
.container-fluid {
	padding-right: var(--medida);
    padding-left: var(--medida);
}

/* linha */
hr {
	margin: 0;
	opacity: 1;
}

/* aba flutuante */
.aba-flutuante-container {
    position: relative;
}
.aba-flutuante {
    width: 100%;
    bottom: 0;
    z-index: 25;
}
.aba-flutuante.fixed {
    position: fixed;
}
.aba-flutuante.absolute {
    position: absolute;
}

/* fundo modal */
.fundo-modal {
	background-color: #000000DD;
	bottom: 0;
	content: "";
	opacity: 0;
	height: 100%;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0s;
	width: 100%;
	z-index: -1;
}
.fundo-modal.ativo {
	opacity: 1;
	transition: opacity .3s;
	z-index: 25;
}



/* ALTURAS */
.h-1 {
	height: calc(var(--medida) * .25);
}
.h-2 {
	height: calc(var(--medida) * .5);
}
.h-3 {
	height: calc(var(--medida) * 1);
}
.h-4 {
	height: calc(var(--medida) * 1.5);
}
.h-5 {
	height: calc(var(--medida) * 2.5);
}



/* CORES */
.bg-azul {
	background-color: var(--azul) !important;
}
.bg-vermelho {
	background-color: var(--vermelho) !important;
}
.bg-cinza-claro {
	background-color: var(--cinza-claro) !important;
}
.bg-cinza {
	background-color: var(--cinza) !important;
}
.bg-cinza-escuro {
	background-color: var(--cinza-escuro) !important;
}
.bg-branco {
	background-color: var(--branco) !important;
}
.bg-preto {
	background-color: var(--preto) !important;
}
.bg-roxo {
	background-color: var(--roxo) !important;
}
.bg-verde {
	background-color: var(--verde) !important;
}
.bg-amarelo {
	background-color: var(--amarelo) !important;
}
.bg-ciano {
	background-color: var(--ciano) !important;
}
.bg-transparente-branco {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 70%);
}

.cor-azul {
	color: var(--azul) !important;
}
.cor-vermelho {
	color: var(--vermelho) !important;
}
.cor-cinza-claro {
	color: var(--cinza-claro) !important;
}
.cor-cinza {
	color: var(--cinza) !important;
}
.cor-cinza-escuro {
	color: var(--cinza-escuro) !important;
}
.cor-branco {
	color: var(--branco) !important;
}
.cor-roxo {
	color: var(--roxo) !important;
}
.cor-verde {
	color: var(--verde) !important;
}
.cor-amarelo {
	color: var(--amarelo) !important;
}
.cor-ciano {
	color: var(--ciano) !important;
}

.borda-azul,
.borda-azul:active {
	border-color: var(--azul) !important;
}
.borda-vermelho,
.borda-vermelho:active {
	border-color: var(--vermelho) !important;
}
.borda-cinza-claro,
.borda-cinza-claro:active {
	border-color: var(--cinza-claro) !important;
}
.borda-cinza,
.borda-cinza:active {
	border-color: var(--cinza) !important;
}
.borda-cinza-escuro,
.borda-cinza-escuro:active {
	border-color: var(--cinza-escuro) !important;
}
.borda-branco,
.borda-branco:active {
	border-color: var(--branco) !important;
}
.borda-preto,
.borda-preto:active {
	border-color: var(--preto) !important;
}



/* TEXTO */
a {
	color: inherit;
}
h1, h2, h3, h4, h5, h6, p {
	font-family: var(--text);
	line-height: 1;
	margin-bottom: 0;
}
h1	{
	font-size: calc(var(--medida) * 1.1);
}
h2	{
	font-size: calc(var(--medida) * .8);
	line-height: 1.2;
}
h3	{
	font-size: calc(var(--medida) * .75);
}
h4	{
	font-size: calc(var(--medida) * .7);
}
h5	{
	font-size: calc(var(--medida) * .65);
}
h6	{
	font-size: calc(var(--medida) * .5);
	text-transform: uppercase;
}

p {
	font-size: calc(var(--medida) * .65);
}
p >*{
	font-size: inherit;
}

i,
i.gde,
.botao i.gde {
	font-size: var(--medida);
}
i.med,
.botao i.med {
	font-size: calc(var(--medida) * .75);
}
i.pqn,
.botao i.pqn {
	font-size: calc(var(--medida) * .5);
}

.gde,
.gde::placeholder {
	font-size: calc(var(--medida) * .75);
}

.med,
.med::placeholder {
	font-size: calc(var(--medida) * .5);
}

.pqn,
.pqn::placeholder {
	font-size: calc(var(--medida) * .4);
}



/* FORMULARIO */

/* input */
label {
	padding-left: calc(var(--medida) * .5);
	padding-right: calc(var(--medida) * .5);
	margin-bottom: calc(var(--medida) * .15);
}
input.error{
    border: 2px solid var(--vermelho) !important;
}
input[type="text"],
input[type="password"],
input[type="file"],
input[type="color"],
input[type="email"],
select,
textarea,
.form-control
 {
	background-color: var(--branco);
    border: 2px solid var(--cinza);
	border-radius: 100em;
	display: flex;
	flex-grow: 1;
	line-height: 1;
	min-height: calc(var(--medida) * 2);
    min-width: calc(var(--medida) * 2);
    padding: 0 calc(var(--medida) * .75);
    outline: none !important;
    width: 100%;
}
input::placeholder {
	opacity: .7;
}
input.med {
	min-height: calc(var(--medida) * 1.5);
}
input.pqn {
	min-height: calc(var(--medida) * 1.3);
}
select {
	-webkit-appearance:none;
	position: relative;
}
select {
	background: url('../img/seta-select.svg') no-repeat right center;
	background-size: contain;
}

input[type="file"] {
	padding: 0 calc(var(--medida) * .5) 0 0;
}
input[type=file]::file-selector-button {
	background-color: var(--cinza);
	border: none;
	min-height: calc(var(--medida) * 2);
	padding: 0 calc(var(--medida) * .75);
}

input[type="color"] {
	min-height: calc(var(--medida) * 1.5);
	min-width: calc(var(--medida) * 1.5);
	padding: calc(var(--medida) * 2.5);
	width: auto;
}
input[type="color"]::-webkit-color-swatch {
	border-radius: 100em;
	border: calc(var(--medida) * .25) solid var(--branco);
}

textarea {
	border-radius: var(--medida);
	min-height: calc(var(--medida) * 5);
	padding: calc(var(--medida) * .5);
}

.input-imagem {
	justify-content: end;
	display: flex;
	flex-direction: column;
}
.input-imagem > span {
	background-color: var(--preto);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 100em;
	color: var(--branco);
	font-size: calc(var(--medida) * 4);
	height: calc(var(--medida) * 6);
	line-height: calc(var(--medida) * 6);
	text-align: center;
	width: calc(var(--medida) * 6);
}

.input-imagem-atividade > span {
    background-color: lightgrey;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 10px;
    color: var(--branco);
    font-size: calc(var(--medida) * 4);
    height: calc(var(--medida) * 6);
    line-height: calc(var(--medida) * 6);
    text-align: center;
    width: 200px;
    height:200px;
}

.input-imagem {
	margin: 0;
}
.input-imagem input[type="file"] {
    opacity: 0;
}
#avatar, #image{
    display:none;
}
.input-imagem > span {
	margin: auto;
}
.input-imagem > .botao {
	margin: calc(-.5 * var(--medida)) auto 0;
}


/* checkbox */
.checkbox,
.radiobutton {
	display: flex;
	flex-direction: column;
	gap: calc(var(--medida) * .25);
}
.checkbox > div,
.radiobutton > div {
	align-items: center;
	display: flex;
}
.checkbox > div input,
.radiobutton > div input {
	height: calc(var(--medida) * .65);
	width: calc(var(--medida) * .65);
}
.checkbox label,
.radiobutton label {
	margin-bottom: 0;
}

/* input group */
.input-group input {
	flex: 1 1 auto;
	width: 1%;
}
.input-group>:not(:first-child) {
	border-left: none;
}
.input-group>:not(:last-child) {
	border-right: none;
}
.input-group>:first-child {
	border-right: none;
}
.input-group>:last-child {
	border-left: none;
}

/* botoes */
.botao,
.botao:active {
	align-items: center;
    background-color: transparent;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border: 2px solid transparent;
    border-radius: 100em;
    color: inherit;
	display: inline-flex;
    font-weight: 700;
    gap: calc(var(--medida) * .5);
    justify-content: center;
    line-height: 1;
    height: calc(var(--medida) * 2);
    min-width: calc(var(--medida) * 2);
    outline: none;
    padding: 0;
    text-decoration: none;
}
.botao span {
	align-items: inherit;
	display: flex;
	gap: inherit;
	padding: 0 calc(var(--medida) * .5);
}
.botao.med {
	gap: calc(var(--medida) * .25);
	height: calc(var(--medida) * 1.5);
	min-width: calc(var(--medida) * 1.5);
}
.botao.med span {
	padding: 0 calc(var(--medida) * .75);
}
.botao.pqn {
	gap: calc(var(--medida) * .1);
	height: calc(var(--medida) * 1.3);
	min-width: calc(var(--medida) * 1.3);
}
.botao.pqn span {
	padding: 0 calc(var(--medida) * .5);
}
.botao i {
	font-size: inherit;
	font-style: normal;
}
.botao-link,
.botao-link:active {
	border: none !important;
    font-weight: 400;
    height: auto !important;
    min-width: auto !important;
    text-decoration: none;
}
.botao-link span {
	text-decoration: underline;
	padding: 0 !important;
}

/* NAV */
nav.menu {
	position: fixed;
	top: 0;
	z-index: 25;
	left: 0;
	right: 0;
}
nav.menu > div > .row:first-child {
	margin-right: calc(-1 * var(--medida));
    margin-left: calc(-1 * var(--medida));
}

/* MENU FLUTUANTE */
nav.menu-expansivo {
	pointer-events: none;
	z-index: -1;
}
nav.menu-expansivo .principal {
	bottom: 0;
	left: 0;
	max-width: 315px;
	overflow: hidden;
	position: fixed;
	transition: all 0s;
	transform: translateX(-100%);
	top: 0;
	padding-top: calc(var(--medida) * 2.5);
	width: 80vw;
}
nav.menu-expansivo .principal .menu-itens i {
    width: 25px;
    text-align: center;
}

nav.menu-expansivo .principal > div {
	height: 100%;
	max-height: 100%;
	overflow-y: auto;
}
nav.menu-expansivo .principal > div > .row:first-child {
	position: fixed;
	left: 0;
	margin: 0;
	right: 0;
	top: 0;
}
nav.menu-expansivo .principal > div > .row:nth-child(2) {
	padding-top: var(--medida);
}
nav.menu-expansivo .principal > div > .row:last-child {
	padding-bottom: var(--medida);
}
nav.menu-expansivo .fundo {
	bottom: 0;
	content: "";
	opacity: 0;
	height: 100%;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: all 0s;
	width: 100%;
}
nav.menu-expansivo .logo img {
	max-height: 40px;
}
nav.menu-expansivo.ativo {
	pointer-events: auto;
	z-index: 100;
}
nav.menu-expansivo.ativo .principal {
	transform: translateX(0);
	transition: all .5s;
	z-index: 100;
}
nav.menu-expansivo.ativo .fundo {
	opacity: .7;
	z-index: 50;
	transition: all .5s .2s;
}
nav.menu-expansivo hr {
	opacity: .5;
}
nav.menu-expansivo .menu {
	display: flex;
	flex-direction: column;
	gap: var(--medida);
}
nav.menu-expansivo .menu a {
	align-items: center;
	display: flex;
	gap: calc(var(--medida) * .5);
	font-weight: bold;
	text-decoration: none;
}
nav.menu-expansivo .menu a span {
	text-align: center;
	width: var(--medida);
}



/* dashboard */
.dashboard {
	background-color: var(--cinza);
}

/* menu */
.dashboard nav.menu {
	margin-left: 315px;
	transition: margin-left .3s;
}
.dashboard nav.menu > div {
	min-width: 315px;
}

/* menu expansivo */
.dashboard nav.menu-expansivo {
	pointer-events: auto;

}
.dashboard nav.menu-expansivo .principal {
	transition: all .3s;
	transform: translateX(0);
	width: 315px;
	z-index: 50;
}
.dashboard nav.menu-expansivo .principal > div {
	min-width: 315px;
}
.dashboard nav.menu-expansivo .principal .logo img:first-child {
	display: flex;
}
.dashboard nav.menu-expansivo .principal .logo img:last-child {
	display: none;
}
.dashboard nav.menu-expansivo .principal h6 {
	min-height: calc(var(--medida) * .5);
}
.dashboard nav.menu-expansivo .principal h6 span {
}
.dashboard nav.menu-expansivo .principal h6 i {
	display: none;
	font-size: calc(var(--medida) * .25);
}

/* dashboard principal */
.dashboard .dashboard-principal {
	margin-left: 315px;
	overflow: hidden;
	transition: margin-left .3s;
}

.dashboard .dashboard-principal > section {
	min-width: 315px;
}


/* caixas */
.dashboard .dashboard-principal .caixa {
	background-color: var(--branco);
	border-radius: calc(var(--medida) * .25);
	display: flex;
}
.dashboard .dashboard-principal .caixa .grafico {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* caixa 1 */
.dashboard .dashboard-principal .caixa-1 > div {
	padding: calc(var(--medida) * .5);
}
.dashboard .dashboard-principal .caixa-1 .grafico img {
	width: calc(var(--medida) * 5);
}
.dashboard .dashboard-principal .caixa-1 >:nth-child(1) {
	border-radius: calc(var(--medida) * .25) 0 0 calc(var(--medida) * .25);
	display: flex;
	align-items: center;
}
.dashboard .dashboard-principal .caixa-1 >:nth-child(2){
	display: flex;
    flex-grow: 1;
    justify-content: space-between;
    flex-direction: column;
    gap: calc(var(--medida) * .5);
    align-items: start;
}
.dashboard .dashboard-principal .caixa-1 >:nth-child(3) {
	align-items: end;
	display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 6px;
}

/* caixa 2 */
.dashboard .dashboard-principal .caixa-2 > div {
	padding: var(--medida);
}
.dashboard .dashboard-principal .caixa-2 .grafico img {
	width: calc(var(--medida) * 15);
}
.dashboard .dashboard-principal .caixa-2 >:nth-child(1) {
	align-items: flex-start;
	display: flex;
	gap: var(--medida);
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}
.dashboard .dashboard-principal .caixa-2 >:nth-child(1) > div {
	display: flex;
	flex-direction: column;
	gap: calc(var(--medida) * .25);
}
.dashboard .dashboard-principal .caixa-2 >:nth-child(2){
	align-items: center;
	display: flex;
}

/* caixa 3 */
.dashboard .dashboard-principal .caixa-3 {
	flex-direction: column;
}
.dashboard .dashboard-principal .caixa-3 .caixa-header {
	border-bottom: 1px solid var(--cinza);
	padding: calc(var(--medida) * .5);
}
.dashboard nav.menu-expansivo .fundo {
	z-index: 20;
	opacity: 0;
}


/* dashboard ativo */

/* menu */
.dashboard.ativo nav.menu {
	margin-left: calc(var(--medida) * 2);
}
.dashboard.ativo nav.menu .botao[alvo="dashboard"] {
	transform: rotate(180deg);
}

/* menu expansivo */
.dashboard.ativo nav.menu-expansivo .principal {
	width: calc(var(--medida) * 2);
}
.dashboard.ativo nav.menu-expansivo .principal > div {
	padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
	min-width: auto;
}
.dashboard.ativo nav.menu-expansivo .principal .logo img:first-child {
	display: none;
}
.dashboard.ativo nav.menu-expansivo .principal .logo img:last-child {
	display: flex;
}
.dashboard.ativo nav.menu-expansivo .principal h6 {
	align-self: center;
}
.dashboard.ativo nav.menu-expansivo .principal h6 span {
	display: none;
}
.dashboard.ativo nav.menu-expansivo .principal h6 i {
	display: flex;
}
.dashboard.ativo nav.menu-expansivo .principal .botao {
	min-width: auto;
}
.dashboard.ativo nav.menu-expansivo .principal .botao strong,
.dashboard.ativo nav.menu-expansivo .principal .botao:after,
.dashboard.ativo nav.menu-expansivo .principal .botao + div {
	display: none !important;
}
.dashboard.ativo nav.menu-expansivo .fundo {
	z-index: -1;
}

/* dashboard principal */
.dashboard.ativo .dashboard-principal {
	margin-left: calc(var(--medida) * 2);
}



/* ABAS */
.aba {
	background-color: var(--branco);
	border-radius: var(--medida) var(--medida) 0 0;
	bottom: 0;
	display: flex;
	left: 0;
	flex-direction: column;
	position: fixed;
	top: var(--medida);
	width: 100%;
	z-index: -1;
	transform: translateY(100%);
	transition: transform 0s;
}
.aba .aba-titulo {
	gap: calc(var(--medida) * .5);
	padding-left: calc(var(--medida) * .5);
	padding-right: calc(var(--medida) * .5);
}
.aba .aba-titulo > div {
	min-height: calc(var(--medida) * 2);
}
.aba .aba-conteudo {
	border-top: 1px solid var(--cinza);
	height: 100%;
	overflow-x: hidden;
	overflow-Y: auto;
	padding: var(--medida);
}
.aba .aba-conteudo .container {
	padding: 0;
}

.aba.ativo {
	transform: translateY(0);
	transition: transform .5s;
	z-index: 200;
}



/* ETAPAS */
.etapas {
	padding: 0 !important;
}
.etapas .etapas-titulo {
	padding: 0 var(--medida);
	flex-direction: column;
}
.etapas .etapas-titulo .nav-etapas {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc(var(--medida) * .5);
	padding: var(--medida) 0;
}
.etapas .etapas-titulo .nav-etapas i {
	color: var(--cinza-escuro);
}
.etapas .etapas-titulo .nav-etapas .botao {
	background-color: var(--cinza);
	border-color: var(--cinza);
	margin-right: calc(var(--medida) *.25);
}
.etapas .etapas-titulo .nav-etapas .ativo .botao {
	background-color: var(--preto);
	border-color: var(--preto);
	color: var(--branco);
}
.etapas .etapas-conteudo {
	display: flex;
}
.etapas .etapas-conteudo .etapa {
	height: 0;
	overflow: hidden;
	min-width: 0;
	width: 0;
	transition: transform .5s;
	transform: translateX(100%);
}
.etapas .etapas-conteudo .etapa > .container {
	padding: calc(var(--medida) * 1);
}
.etapas .etapas-conteudo .etapa.ativo {
	height: 100%;
	min-width: 100%;
	transform: translateX(0);
}



/* SLIDE */
.owl-carousel {}
.owl-carousel .owl-dots {
	bottom: calc(var(--medida) * .5);
	justify-content: center;
	display: flex;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 5;
}
.owl-carousel .owl-dots button {
	align-items: center;
	display: flex;
	height: calc(var(--medida) * .75);
	justify-content: center;
	width: calc(var(--medida) * .75);
}
.owl-carousel .owl-dots button::before {
	content: "";
	background-color: var(--branco);
	border-radius: 100%;
	height: calc(var(--medida) * .3);
	opacity: .5;
	width: calc(var(--medida) * .3);
}
.owl-carousel .owl-dots button.active::before {
	height: calc(var(--medida) * .6);
	opacity: 1;
	width: calc(var(--medida) * .6);
}

.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
    background: #ffffff55;
    font-size: 5vh;
    border-radius: 100%;
    line-height: 5vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    height: 5vh;
    width: 5vh;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
}

.owl-carousel .owl-nav .owl-next {
    left: 3vh;
}

.owl-carousel .owl-nav .owl-prev {
    right: 3vh;
}

.owl-carousel .owl-nav .owl-next span,
.owl-carousel .owl-nav .owl-prev span {
    margin-top: -0.5vh;
}
.owl-carousel .item {
	align-items: flex-start;
	background-size: cover;
	background-position: center center;
	display: flex;

}

/* stories */
.stories .item {
	border-radius: calc(var(--medida) * .5);
	min-height: calc(var(--medida) * 15);
}
.stories .item .fundo {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.70) 0.1%, rgba(0, 0, 0, 0.20) 67.61%);
	border-radius: calc(var(--medida) * .5);
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: calc(var(--medida) * .25);
	min-height: 100%;
	padding: var(--medida);
	position: relative;
	width: 100%;
	z-index: 5;
}

/* galeria */
.galeria {
	border-radius: calc(var(--medida) * .5);
	overflow: hidden;
}
.galeria .item {
	min-height: calc(var(--medida) * 7.5);
}

/* galeria detalhe */
.galeria-detalhe {
	border-radius: calc(var(--medida) * .5);
	overflow: hidden;
}
.galeria-detalhe .item {
	min-height: calc(var(--medida) * 7.5);
}

.thumbnail {
    border-radius: calc(var(--medida) * .5);
    overflow: hidden;
}
.thumbnail .item{
    min-height: calc(var(--medida) * 7.5);
}

/* lista */
.lista .item {
	width: calc(var(--medida) * 10);
}
.lista .item .imagem {
	height: calc(var(--medida) * 5);
}



/* ACORDEON */
.acordeon {
	display: flex;
	flex-direction: column;
	gap: calc(var(--medida) * .25);
	text-align: left;
}
.acordeon > div > div:first-child {
	display: flex;
	justify-content: space-between;
}
.acordeon > div > div:first-child .botao {
    display: flex;
    flex-grow: 1;
	justify-content: start;
	height: auto;
    width: auto;
    text-align: left;
}
.acordeon > div > div:first-child .botao + i {
	transform: rotate(180deg);
}
.acordeon > div > div:first-child .botao.collapsed + i {
	transform: rotate(0);
}
.acordeon > div > div:last-child > div {
	padding: calc(var(--medida) * .5);
}


/* TOGGLE */
.toggle-submenu::after {
	font: var(--fa-font-solid);
	content: "\f107";
	padding-top: 4px;
}
.toggle-submenu + div {
	display: none;
}
.toggle-submenu.ativo::after {
	transform: rotate(180deg);
}
.toggle-submenu.ativo + div {
	display: flex;
}



/* BUSCA */
.busca {
	position: relative;
}
.busca .busca-resultado {
	display: none !important;
	left: 0;
	position: absolute;
	top: 0;
	width: calc(100vw - 2* var(--medida));
	z-index: 50;
}

.busca.ativo .busca-resultado {
	background-color: var(--branco);
	border-radius: var(--medida);
	display: flex !important;
}
.busca.ativo .busca-resultado >:first-child input {
	border-color: var(--branco) !important;
	padding: 0 !important;
}
.busca.ativo .busca-resultado >:last-child {
	border-top: 1px solid var(--cinza);
	display: flex;
	flex-direction: column;
	gap: var(--medida);
	padding: var(--medida);
}




/* CARRINHO */
#aba-carrinho .imagem {
	background-color: yellow;
	border-radius: calc(var(--medida) * .5);
	height: calc(var(--medida) * 4);
	width: 100%;
}


/* CHECKOUT */
#aba-checkout #detalhes-carrinho + div .botao {
	display: none;
}
#aba-checkout #detalhes-carrinho + div .botao.ativo {
	display: flex;
}
#aba-checkout #detalhes-carrinho .imagem {
	background-color: yellow;
	border-radius: calc(var(--medida) * .5);
	height: calc(var(--medida) * 5);
	width: 100%;
}



/* PRODUTOS — card redesign */

.produto-card {
    position: relative;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}
.produto-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.14);
}
.produto-card:focus-within {
    outline: 2px solid var(--azul);
    outline-offset: 2px;
}
.produto-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}
.produto-link:hover,
.produto-link:focus {
    text-decoration: none;
    color: inherit;
    outline: none;
}
.produto-imagem {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
    background: var(--cinza);
}
.produto-foto {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 350ms ease-out;
}
.produto-card:hover .produto-foto {
    transform: scale(1.04);
}
.produto-badge {
    position: absolute;
    bottom: 10px;
    left: 12px;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    pointer-events: none;
}
.produto-favorito {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(4px);
    color: #ccc;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 150ms, color 150ms, transform 150ms;
    box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.produto-favorito:hover,
.produto-favorito:focus {
    background: #fff;
    color: var(--vermelho);
    transform: scale(1.1);
    outline: none;
}
.produto-favorito.ativo {
    color: var(--vermelho);
    background: #fff;
}
.produto-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px 16px;
    flex-grow: 1;
}
.produto-titulo {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.produto-local {
    font-size: 13px;
    color: #666;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.produto-local a {
    color: #666;
    text-decoration: none;
}
.produto-local a:hover { color: var(--azul); text-decoration: underline; }
.produto-local .fa-location-dot { color: var(--vermelho); font-size: 11px; flex-shrink: 0; }
.produto-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid var(--cinza);
}
.produto-preco {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
}
.produto-avaliacao {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #444;
}
.produto-avaliacao .fa-star { color: #F59E0B; font-size: 12px; }
.produto-avaliacao strong { font-weight: 700; color: #1a1a1a; }
.produto-avaliacao-total { color: #999; }
.produto-sem-avaliacao { font-size: 12px; color: #bbb; }
@media (max-width: 575px) {
    .produto-info { padding: 12px 14px 14px; }
    .produto-titulo { font-size: 14px; }
}

/* Compat: estilos legado usados em detalhe/galeria */
.produtos .produto {
    display: flex;
    flex-direction: column;
    gap: calc(var(--medida) * .25);
    position: relative;
    text-decoration: none;
}
.produtos .produto .botao.favorito {
    position: absolute;
    right: calc(var(--medida) * .25);
    top: calc(var(--medida) * .25);
    z-index: 5;
}
.produtos .produto .imagem {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: calc(var(--medida) * .5);
    height: calc(var(--medida) * 7.5);
    margin-bottom: calc(var(--medida) * .25);
    width: 100%;
}
.produtos .produto .info { display: flex; gap: var(--medida); }
.produtos .produto .info div:first-child {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: calc(var(--medida) * .2);
}
.produtos .produto .avaliacao { display: flex; gap: calc(var(--medida) * .25); }

/* galeria */
.produtos .galeria {
	margin-bottom: calc(var(--medida) * .25);
}

/* galeria detalhe */
.produtos .galeria.detalhe {
	margin-bottom: calc(var(--medida) * .25);
}

/* lista */
.produtos .lista .imagem {
	height: calc(var(--medida) * 5);
}



/* PRODUTOS DETALHE (compat) */
.produtos.detalhe .container, .produtos.detalhe .container-fluid { padding: 0; }
.produtos.detalhe .container > .row, .produtos.detalhe .container-fluid > .row { margin: 0; }
.produtos.detalhe .container > .row > div, .produtos.detalhe .container-fluid > .row > div { padding: 0; }

/* =============================================
   DESTINO — GALERIA
   ============================================= */
.destino-galeria { position: relative; }

/* Bootstrap não tem d-md-grid — definimos aqui */
@media (min-width: 768px) { .d-md-grid { display: grid !important; } }

/* Grid principal: 60% main + 40% thumbs */
.destino-galeria-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 480px;
    gap: 4px;
    overflow: hidden;
}
.destino-galeria-thumbs {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
}
.destino-galeria-main,
.destino-galeria-thumb { overflow: hidden; position: relative; cursor: pointer; }
.destino-galeria-img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 350ms ease-out;
    display: block;
}
.destino-galeria-main:hover .destino-galeria-img,
.destino-galeria-thumb:hover .destino-galeria-img { transform: scale(1.04); }

.destino-galeria-thumb--last .destino-galeria-mais {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.5);
    color: #fff;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 6px;
    font-weight: 700; font-size: .95rem;
    border: none; width: 100%; cursor: pointer;
    transition: background 150ms ease-out;
}
.destino-galeria-thumb--last .destino-galeria-mais:hover { background: rgba(0,0,0,.65); }
.destino-galeria-thumb--last .destino-galeria-mais i { font-size: 1.5rem; }

/* =============================================
   LIGHTBOX
   ============================================= */
.galeria-lightbox {
    position: fixed; inset: 0; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.galeria-lightbox-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.92);
    cursor: zoom-out;
}
.galeria-lightbox-content {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; align-items: center; gap: 1rem;
    max-width: 90vw; max-height: 90vh;
}
.galeria-lightbox-img {
    max-width: 90vw; max-height: 82vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 8px 48px rgba(0,0,0,.6);
}
.galeria-lightbox-contador {
    color: rgba(255,255,255,.7); font-size: .85rem; margin: 0;
}
.galeria-lightbox-fechar,
.galeria-lightbox-prev,
.galeria-lightbox-next {
    position: fixed; z-index: 2;
    background: rgba(255,255,255,.15);
    border: none; color: #fff;
    width: 44px; height: 44px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; cursor: pointer;
    transition: background 150ms ease-out;
}
.galeria-lightbox-fechar:hover,
.galeria-lightbox-prev:hover,
.galeria-lightbox-next:hover { background: rgba(255,255,255,.3); }
.galeria-lightbox-fechar { top: 1.25rem; right: 1.25rem; }
.galeria-lightbox-prev { left: 1.25rem; top: 50%; transform: translateY(-50%); }
.galeria-lightbox-next { right: 1.25rem; top: 50%; transform: translateY(-50%); }

/* Imagem única */
.destino-galeria-unica { height: 420px; overflow: hidden; }
.destino-galeria-unica .destino-galeria-img { height: 100%; }

/* Mobile: galeria-detalhe sem bordas */
@media (max-width: 767px) {
    .produtos.detalhe .produto .galeria-detalhe .item { min-height: calc(var(--medida) * 14); }
    .produtos.detalhe .produto .galeria-detalhe { border-radius: 0; }
}

/* =============================================
   DESTINO — HEADER (título, local, rating, preço)
   ============================================= */
.destino-header {
    padding: 1.5rem var(--medida);
}

.destino-categoria {
    display: inline-block;
    background: var(--azul);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .2rem .65rem;
    border-radius: 999px;
    margin-bottom: .6rem;
}

.destino-titulo {
    font-size: clamp(1.3rem, 3vw, 1.75rem);
    font-weight: 800;
    color: #1a1a2e;
    line-height: 1.25;
    margin: 0 0 .4rem;
    text-transform: capitalize;
}

.destino-local {
    font-size: .85rem;
    color: var(--cinza-escuro);
    display: flex; align-items: center; gap: .3rem;
    margin: 0 0 .6rem;
}
.destino-local i { color: var(--vermelho); font-size: .8rem; }

.destino-rating {
    display: flex; align-items: center; gap: .4rem;
    font-size: .88rem;
}
.destino-rating-estrelas i { color: #f5b849; font-size: .85rem; }
.destino-rating-nota { font-weight: 700; color: #1a1a2e; }
.destino-rating-total { color: var(--cinza-escuro); }
.destino-rating-vazio { color: var(--cinza-escuro); display: flex; align-items: center; gap: .3rem; }
.destino-rating-vazio i { color: #ddd; font-size: .85rem; }

.destino-preco-bloco {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    margin-top: .9rem;
    padding-top: .9rem;
    border-top: 1px solid #f0f0f0;
}
.destino-preco-label { font-size: .72rem; color: var(--cinza-escuro); text-transform: uppercase; letter-spacing: .06em; }
.destino-preco-valor { font-size: 1.35rem; font-weight: 800; color: #1a1a2e; line-height: 1.2; }
.destino-preco-valor .med { font-size: .85rem; font-weight: 600; }
.destino-preco-por { font-size: .75rem; color: var(--cinza-escuro); }

/* =============================================
   DESTINO — WIDGET DE RESERVA (sticky)
   ============================================= */
.reserva-widget {
    background-color: #FFFFFF !important;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 18px;
    box-shadow: 0 12px 36px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.05);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    position: sticky;
    top: 80px;
}

.reserva-widget-preco {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid #ececec;
}
.reserva-widget-preco-prefix {
    font-size: .75rem;
    font-weight: 500;
    color: var(--cinza-escuro);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.reserva-widget-preco-linha {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    font-size: 1.75rem;
    font-weight: 800;
    color: #1a1a2e;
    line-height: 1.1;
}
.reserva-widget-preco-linha .med { font-size: .95rem; font-weight: 600; }
.reserva-widget-por {
    font-size: .85rem;
    font-weight: 500;
    color: var(--cinza-escuro);
}

.reserva-opcoes {
    display: flex;
    flex-direction: column;
    /* Sem border externa — usamos divisórias horizontais sutis no estilo Airbnb */
}
.reserva-opcao {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .9rem .25rem;
    text-decoration: none;
    color: #1a1a2e;
    border-bottom: 1px solid #ececec;
    transition: background 150ms ease-out, padding 150ms ease-out;
    cursor: pointer;
}
.reserva-opcao:last-child { border-bottom: none; }
.reserva-opcao:hover {
    background: #fafafa;
    color: #1a1a2e;
    padding-left: .5rem;
    padding-right: .5rem;
    border-radius: 10px;
}
.reserva-opcao-icone {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cinza-escuro);
    font-size: .9rem;
}
.reserva-opcao-corpo {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
}
.reserva-opcao-label {
    font-size: .7rem;
    font-weight: 600;
    color: var(--cinza-escuro);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.reserva-opcao-valor {
    font-size: .95rem;
    font-weight: 600;
    color: #1a1a2e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reserva-opcao-seta {
    font-size: .75rem;
    color: var(--cinza-escuro);
    flex-shrink: 0;
}
.reserva-opcao-check {
    display: none !important;
    font-size: .8rem;
    color: #fff;
    background: var(--verde);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Estado: campo preenchido */
.reserva-opcao.is-filled .reserva-opcao-icone { color: #555; }
.reserva-opcao.is-filled .reserva-opcao-seta { display: none !important; }
.reserva-opcao.is-filled .reserva-opcao-check { display: inline-flex !important; }

.reserva-resumo {
    background: #f8f8fa;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    font-size: .85rem;
    line-height: 1.45;
    margin: 0;
}
.reserva-resumo > span {
    display: block;
    margin-bottom: .2rem;
}
.reserva-resumo #total {
    font-size: 1.05rem;
    color: #1a1a2e;
    margin-top: .35rem;
    display: block;
}
.reserva-resumo #total strong {
    font-size: 1.15rem;
    font-weight: 800;
    margin-left: .25rem;
}

.reserva-cta {
    display: flex;
    gap: .5rem;
    align-items: stretch;
}
.reserva-cta .addtocart {
    border-radius: 14px !important;
    font-size: 1rem;
    font-weight: 700;
    background: linear-gradient(180deg, #FA5C5C 0%, #E63E3E 100%) !important;
    border-color: #E63E3E !important;
    box-shadow: 0 6px 16px rgba(235, 87, 87, .32);
    transition: transform 120ms ease-out, box-shadow 120ms ease-out;
}
.reserva-cta .addtocart:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(235, 87, 87, .42);
}
.reserva-chat-btn {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.reserva-aviso {
    font-size: .75rem;
    color: var(--cinza-escuro);
    text-align: center;
    margin: 0;
    display: flex; align-items: center; justify-content: center; gap: .35rem;
}
.reserva-aviso i {
    color: var(--verde);
    font-size: .7rem;
}

/* =============================================
   DESTINO — SEÇÕES DE CONTEÚDO
   ============================================= */
.destino-secoes {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.destino-secao {
    border-bottom: 1px solid var(--cinza);
    padding: .25rem 0;
}
.destino-secao:first-child { border-top: 1px solid var(--cinza); }

.destino-secao-header {
    display: flex;
    align-items: center;
    padding: 0;
}
.destino-secao-titulo {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    padding: 1rem 0;
}

.destino-secao-corpo { padding: .5rem 0 1.25rem; }

.destino-descricao {
    font-size: .95rem;
    line-height: 1.75;
    color: #333;
}
.destino-descricao p { margin-bottom: .75rem; }
.destino-descricao h1, .destino-descricao h2, .destino-descricao h3 {
    font-size: 1rem; font-weight: 700; margin: 1.25rem 0 .4rem;
}
.destino-descricao hr { border: none; border-top: 1px solid var(--cinza); margin: 1rem 0; }

.destino-valores { font-size: 1.1rem; font-weight: 600; }

.destino-features { display: flex; flex-wrap: wrap; gap: .5rem; }
.destino-feature-pill {
    display: inline-flex; align-items: center;
    border: 1.5px solid var(--cinza);
    border-radius: 999px;
    padding: .35rem .85rem;
    font-size: .82rem;
    font-weight: 500;
    color: #333;
}

/* Ajuste do container detalhe */
.produtos.detalhe .container { padding: 0; }
.produtos.detalhe .container > .row { margin: 0; }
.produtos.detalhe .container > .row > div { padding: 0; }
.info-produto .container { padding-top: 0; }



/* DEPOIMENTOS */
.depoimentos .item {
	border: 1px solid var(--cinza);
	border-radius: calc(var(--medida) * .5);
	display: flex;
	flex-direction: column;
	gap: calc(var(--medida) * .5);
	padding: var(--medida);
	width: 280px;
}
.depoimentos .item .avaliacao {
	display: flex;
	flex-direction: column;
	gap: calc(var(--medida) * .25);
}



/* CTA */
/* COMO FUNCIONA */
.como-funciona {
    background: var(--cinza-claro);
    padding: 4rem 0;
}

.como-funciona-header {
    margin-bottom: 2.5rem;
}

.como-funciona-eyebrow {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--azul);
    margin-bottom: .4rem;
}

.como-funciona-titulo {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

.como-funciona-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    padding: 2rem 1.5rem;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    height: 100%;
    transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}
.como-funciona-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
}

.como-funciona-icone {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--azul) 0%, #0099cc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.6rem;
    flex-shrink: 0;
}

.como-funciona-num {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--vermelho);
    color: #fff;
    font-size: .65rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
}

.como-funciona-card-titulo {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}

.como-funciona-card-desc {
    font-size: .88rem;
    color: var(--cinza-escuro);
    line-height: 1.6;
    margin: 0;
}

/* =============================================
   SIDENAV V2 — refinamento sobre o azul
   ============================================= */
nav.menu-expansivo .principal.sidenav-v2 {
    background: linear-gradient(180deg, #0CC5FF 0%, #00a8e0 100%) !important;
    color: #fff;
    display: flex !important;
    flex-direction: column;
    height: 100%;
    padding: 0 !important;
    overflow: hidden !important;
    width: 80vw !important;
    max-width: 315px !important;
}

/* Dashboard expandido (sem .ativo): sidebar completa 315px */
.dashboard nav.menu-expansivo .principal.sidenav-v2 {
    width: 315px !important;
    max-width: 315px !important;
    transform: translateX(0) !important;
    transition: width .3s ease !important;
}
.dashboard .dashboard-principal {
    margin-left: 315px !important;
    transition: margin-left .3s ease;
}
.dashboard nav.menu {
    margin-left: 315px !important;
    transition: margin-left .3s ease;
}

/* Dashboard.ativo: sidebar minimizada (só ícones) */
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 {
    width: 64px !important;
    max-width: 64px !important;
}
.dashboard.ativo .dashboard-principal {
    margin-left: 64px !important;
}
.dashboard.ativo nav.menu {
    margin-left: 64px !important;
}

/* Quando minimizado: esconde textos, mostra só ícones centralizados */
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-top {
    padding: 1rem .5rem;
    justify-content: center;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-logo {
    display: none;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-body {
    padding: 0 .5rem 1rem;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-label,
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-item span,
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-receptivo,
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-btn {
    display: none !important;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-item {
    justify-content: center;
    padding: .75rem .25rem;
    gap: 0;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-item i {
    font-size: 1rem;
    width: auto;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-divider {
    margin: .5rem .25rem;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-footer {
    padding: .75rem .35rem;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-footer .language-selected {
    justify-content: center;
    font-size: 0;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-footer .language-selected i {
    display: none;
}
.dashboard.ativo nav.menu-expansivo .principal.sidenav-v2 .sidenav-v2-footer .language-selected img {
    margin: 0 auto;
}
nav.menu-expansivo .principal.sidenav-v2 > div {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
}
nav.menu-expansivo .principal.sidenav-v2 > .sidenav-v2-body {
    overflow-y: auto !important;
    flex: 1 1 auto;
    min-height: 0;
}

/* Top bar */
.sidenav-v2-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem 1.5rem;
}
.sidenav-v2-logo img {
    height: 32px;
    width: auto;
    max-width: 140px;
    display: block;
    object-fit: contain;
}
.sidenav-v2-close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.18);
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: .95rem;
    transition: background 150ms;
    border: none;
}
.sidenav-v2-close:hover {
    background: rgba(255,255,255,0.3);
    color: #fff !important;
}

/* Body */
.sidenav-v2-body {
    padding: 0 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.sidenav-v2-grupo {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.sidenav-v2-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    margin-bottom: .55rem;
    padding: 0 .45rem;
}

.sidenav-v2-item {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .65rem .55rem;
    color: #fff !important;
    font-size: .92rem;
    font-weight: 500;
    text-decoration: none !important;
    border-radius: 10px;
    transition: all 150ms;
}
.sidenav-v2-item i {
    width: 18px;
    color: rgba(255,255,255,0.75);
    font-size: .85rem;
    text-align: center;
    transition: color 150ms;
}
.sidenav-v2-item:hover {
    background: rgba(255,255,255,0.13);
    color: #fff !important;
}
.sidenav-v2-item:hover i { color: #fff; }

.sidenav-v2-divider {
    height: 1px;
    background: rgba(255,255,255,0.18);
    margin: .35rem 0;
}

/* Botões login/cadastro */
.sidenav-v2-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: .75rem 1.25rem;
    font-size: .92rem;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 150ms;
    margin-bottom: .5rem;
    border: 2px solid transparent;
}
.sidenav-v2-btn-solid {
    background: #fff;
    color: var(--azul) !important;
}
.sidenav-v2-btn-solid:hover {
    background: rgba(255,255,255,0.92);
    transform: translateY(-1px);
    box-shadow: 0 6px 14px -6px rgba(0,0,0,0.25);
    color: var(--azul) !important;
}
.sidenav-v2-btn-outline {
    background: transparent;
    color: #fff !important;
    border-color: rgba(255,255,255,0.5);
}
.sidenav-v2-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    color: #fff !important;
}

/* CTA receptivo glass */
.sidenav-v2-receptivo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .9rem 1rem;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 12px;
    text-decoration: none !important;
    transition: all 150ms;
    color: #fff !important;
}
.sidenav-v2-receptivo:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.35);
    color: #fff !important;
    transform: translateY(-1px);
}
.sidenav-v2-receptivo-textos {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.sidenav-v2-receptivo-eyebrow {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    margin-bottom: .15rem;
}
.sidenav-v2-receptivo strong {
    font-size: .92rem;
    font-weight: 700;
    color: #fff;
}
.sidenav-v2-receptivo > i {
    font-size: .85rem;
    color: #fff;
    transition: transform 150ms;
}
.sidenav-v2-receptivo:hover > i {
    transform: translateX(3px);
}

/* Footer idioma */
.sidenav-v2-footer {
    padding: .9rem 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.18);
    background: rgba(0,0,0,0.08);
}
.sidenav-v2-footer .language-dropdown {
    width: 100%;
}
.sidenav-v2-footer .language-selected {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #fff;
    font-size: .88rem;
    font-weight: 600;
}
.sidenav-v2-footer .language-selected i {
    color: rgba(255,255,255,0.6);
    font-size: .75rem;
    margin-left: auto;
}
.sidenav-v2-footer .language-dropdown-content a {
    color: #fff !important;
    font-size: .85rem;
    font-weight: 500;
    display: flex !important;
    align-items: center;
    gap: .5rem;
    padding: .5rem 0 !important;
}

/* =============================================
   PÁGINA DE RESULTADOS / FILTROS
   ============================================= */

/* Sidebar */
.filtro-sidebar {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
    padding: 1.25rem;
}
@media (min-width: 992px) {
    .filtro-sidebar {
        position: sticky;
        top: 90px;
        max-height: calc(100vh - 110px);
        overflow-y: auto;
    }
}
.filtro-titulo-desktop {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .95rem;
    font-weight: 800;
    color: #1a1a2e;
    margin-bottom: 1.25rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid #f0f0f0;
}
.filtro-titulo-desktop i { color: var(--azul); }

.filtro-grupos {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.filtro-grupo + .filtro-grupo {
    padding-top: 1.5rem;
    border-top: 1px solid #f0f0f0;
}
.filtro-grupo-titulo {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--cinza-escuro);
    margin: 0 0 .85rem;
}

/* Disponibilidade pills */
.filtro-disponibilidade {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.filtro-data-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem .9rem;
    background: #f4f6f8;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    color: #1a1a2e;
    text-decoration: none;
    transition: all 150ms;
    cursor: pointer;
}
.filtro-data-pill:hover {
    background: #e9ebee;
    color: #1a1a2e;
}
.filtro-data-pill.ativo {
    background: var(--azul);
    color: #fff;
    border-color: var(--azul);
}
.filtro-data-pill--calendar i { color: var(--vermelho); }
.filtro-data-pill.ativo i { color: #fff; }

/* Checkbox list refinada */
.filtro-checkbox-list {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    max-height: 320px;
    overflow-y: auto;
    padding-right: .25rem;
}
.filtro-checkbox-list::-webkit-scrollbar { width: 4px; }
.filtro-checkbox-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 4px; }

.filtro-checkbox-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .35rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background 120ms;
    margin: 0;
}
.filtro-checkbox-item:hover { background: #f4f6f8; }
.filtro-checkbox-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.filtro-checkbox-marca {
    width: 18px;
    height: 18px;
    border: 1.5px solid #d0d4d9;
    border-radius: 5px;
    flex-shrink: 0;
    position: relative;
    transition: all 150ms;
}
.filtro-checkbox-item input:checked + .filtro-checkbox-marca {
    background: var(--azul);
    border-color: var(--azul);
}
.filtro-checkbox-item input:checked + .filtro-checkbox-marca::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.filtro-checkbox-texto {
    font-size: .87rem;
    color: #1a1a2e;
    font-weight: 500;
}
.filtro-checkbox-item input:checked ~ .filtro-checkbox-texto {
    font-weight: 700;
    color: var(--azul);
}

/* Ações: Aplicar (primário) e Limpar (link) */
.filtro-acoes {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    margin-top: .5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #f0f0f0;
}
.filtro-btn-aplicar {
    width: 100%;
    background: var(--azul);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: .8rem 1.5rem;
    font-size: .92rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 150ms;
}
.filtro-btn-aplicar:hover {
    background: #00a8e0;
    transform: translateY(-1px);
    box-shadow: 0 8px 16px -8px rgba(12,197,255,.5);
}
.filtro-btn-limpar {
    font-size: .82rem;
    font-weight: 600;
    color: var(--cinza-escuro);
    text-decoration: none;
    transition: color 150ms;
}
.filtro-btn-limpar:hover {
    color: var(--vermelho);
    text-decoration: underline;
}

/* Header de resultados */
.resultados-header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.resultados-titulo-bar {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.resultados-titulo {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}
.resultados-titulo strong { color: var(--azul); }
.resultados-count {
    font-size: .85rem;
    color: var(--cinza-escuro);
    font-weight: 600;
    background: #f4f6f8;
    padding: .35rem .85rem;
    border-radius: 999px;
}

/* Filtros ativos */
.filtros-ativos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1rem;
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #f0f0f0;
}
.filtros-ativos-label {
    font-size: .75rem;
    font-weight: 700;
    color: var(--cinza-escuro);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-right: .25rem;
}
.filtro-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .8rem;
    background: #fff;
    border: 1px solid #e0e3e7;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    color: #1a1a2e;
    text-decoration: none;
    transition: all 150ms;
}
.filtro-chip:hover {
    border-color: var(--vermelho);
    color: var(--vermelho);
}
.filtro-chip i.fa-xmark {
    font-size: .72rem;
    opacity: .6;
}
.filtro-chip:hover i.fa-xmark { opacity: 1; }
.filtro-chip i:not(.fa-xmark) {
    color: var(--vermelho);
    font-size: .8rem;
}
.filtro-chip-limpar {
    font-size: .8rem;
    font-weight: 600;
    color: var(--vermelho);
    text-decoration: none;
    margin-left: auto;
    padding: .35rem .5rem;
    transition: opacity 150ms;
}
.filtro-chip-limpar:hover { opacity: .7; text-decoration: underline; color: var(--vermelho); }

/* =============================================
   MINHAS RESERVAS
   ============================================= */
.reservas-page {
    padding-bottom: 4rem;
}
.reservas-header {
    padding: 1.5rem 0 2rem;
}
.reservas-titulo {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    color: #1a1a2e;
    margin: 0 0 .35rem;
}
.reservas-subtitulo {
    font-size: .95rem;
    color: var(--cinza-escuro);
    margin: 0;
}
.reservas-lista {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Card */
.reserva-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.05), 0 8px 24px -12px rgba(0,0,0,.08);
    border: 1px solid #f0f0f0;
}

/* Banner com imagem */
.reserva-card-banner {
    display: block;
    position: relative;
    height: 180px;
    background-size: cover;
    background-position: center;
    text-decoration: none;
    overflow: hidden;
}
.reserva-card-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.7) 100%);
}
.reserva-card-banner-content {
    position: absolute;
    inset: 0;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .35rem;
}
.reserva-card-categoria {
    color: rgba(255,255,255,0.9);
    font-size: .8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.reserva-card-categoria i { color: var(--vermelho); }
.reserva-card-titulo {
    color: #fff;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    font-weight: 800;
    margin: 0;
    line-height: 1.25;
    text-transform: capitalize;
}
.reserva-card-status { margin-top: .35rem; }
.reserva-card-status .badge,
.reserva-card-status span {
    display: inline-block;
    /* Cor padrão = neutra; classes alert-* abaixo aplicam a cor correta */
    background: #6b7785;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: .25rem .7rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.reserva-card-status span.alert-success { background: #34c759; }
.reserva-card-status span.alert-warning { background: #f9a825; color: #4a3500; }
.reserva-card-status span.alert-danger  { background: #d32f2f; }
.reserva-card-status span.alert-attention { background: #f9a825; color: #4a3500; }

/* Corpo */
.reserva-card-corpo {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Bloco genérico */
.reserva-bloco {
    background: #fafafa;
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
}
.reserva-bloco-titulo {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--cinza-escuro);
    margin: 0 0 .8rem;
}

/* Voucher destacado */
.reserva-voucher {
    background: linear-gradient(135deg, rgba(12,197,255,.08), rgba(12,197,255,.02));
    border: 2px dashed rgba(12, 197, 255, 0.4);
    text-align: center;
    padding: 1.25rem;
}
.reserva-voucher-label {
    display: block;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--azul);
    margin-bottom: .35rem;
}
.reserva-voucher-codigo {
    display: block;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 900;
    color: #1a1a2e;
    letter-spacing: .15em;
    font-family: 'Courier New', monospace;
    margin: .25rem 0 .5rem;
}
.reserva-voucher-hint {
    display: block;
    font-size: .78rem;
    color: var(--cinza-escuro);
    font-weight: 500;
}

/* Voucher pendente (pagamento não aprovado / agência não confirmou) */
.reserva-voucher-pendente {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff8e1;
    border: 1.5px dashed #f9a825;
    border-radius: 12px;
    padding: 16px 20px;
}
.reserva-voucher-pendente i {
    flex-shrink: 0;
    font-size: 22px;
    color: #f9a825;
    margin-top: 2px;
}
.reserva-voucher-pendente strong {
    display: block;
    color: #795548;
    font-size: 0.95rem;
    margin-bottom: 4px;
}
.reserva-voucher-pendente p {
    margin: 0;
    color: #6b5d4b;
    font-size: .85rem;
    line-height: 1.5;
}
/* Variante erro: pagamento rejeitado ou pedido cancelado */
.reserva-voucher-pendente--erro {
    background: #ffebee;
    border-color: #d32f2f;
}
.reserva-voucher-pendente--erro i { color: #d32f2f; }
.reserva-voucher-pendente--erro strong { color: #b71c1c; }
.reserva-voucher-pendente--erro p { color: #8e2421; }

/* Grade Quando/Agência */
.reserva-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
@media (max-width: 575px) {
    .reserva-grid { grid-template-columns: 1fr; }
}
.reserva-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.reserva-info-list li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .88rem;
    color: #333;
}
.reserva-info-list li i {
    width: 18px;
    color: var(--cinza-escuro);
    font-size: .85rem;
    text-align: center;
}
.reserva-info-list li i.fa-whatsapp { color: #25D366; }
.reserva-info-list li a {
    color: #1a1a2e;
    text-decoration: none;
    font-weight: 500;
}
.reserva-info-list li a:hover { color: var(--azul); }

/* Pagamento */
.reserva-pagamento-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
}
.reserva-pagamento-header .reserva-bloco-titulo { margin: 0; }
.reserva-pagamento-status .badge,
.reserva-pagamento-status span {
    display: inline-block;
    /* Cor padrão = neutra; classes alert-* abaixo aplicam a cor correta */
    background: #6b7785;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: .22rem .65rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.reserva-pagamento-status span.alert-success { background: #34c759; }
.reserva-pagamento-status span.alert-warning { background: #f9a825; color: #4a3500; }
.reserva-pagamento-status span.alert-danger  { background: #d32f2f; }
.reserva-pagamento-linhas {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.reserva-pagamento-linha {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: .9rem;
    color: #4b5563;
    gap: 1rem;
}
.reserva-pagamento-linha span:last-child {
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
}
.reserva-pagamento-desconto span:last-child { color: var(--vermelho); }
.reserva-pagamento-total {
    margin-top: .35rem;
    padding-top: .75rem;
    border-top: 1px solid #e5e7eb;
}
.reserva-pagamento-total span {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
}

/* Rodapé */
.reserva-card-rodape {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-top: .75rem;
    border-top: 1px solid #f0f0f0;
    flex-wrap: wrap;
}
.reserva-rodape-meta {
    font-size: .78rem;
    color: var(--cinza-escuro);
}
.reserva-cancelar {
    font-size: .82rem;
    font-weight: 600;
    color: var(--vermelho);
    text-decoration: none;
    cursor: pointer;
    transition: opacity 150ms;
}
.reserva-cancelar:hover {
    opacity: .7;
    color: var(--vermelho);
    text-decoration: underline;
}

/* Estado vazio */
.reservas-vazio {
    text-align: center;
    padding: 4rem 1rem;
    background: #fafafa;
    border-radius: 16px;
    border: 1px dashed #e5e7eb;
}
.reservas-vazio i {
    font-size: 2.5rem;
    color: var(--cinza-escuro);
    margin-bottom: 1rem;
    display: block;
}
.reservas-vazio h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 .35rem;
}
.reservas-vazio p {
    font-size: .9rem;
    color: var(--cinza-escuro);
    margin: 0;
}

/* Card de erro */
.reserva-card--erro {
    border-color: rgba(248, 75, 75, 0.2);
    background: rgba(248, 75, 75, 0.03);
}
.reserva-erro-msg {
    color: var(--vermelho);
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* =============================================
   AGÊNCIA CTA STRIP
   ============================================= */
.agencia-cta-strip {
    background: #ffffff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 2.5rem 0;
}
.agencia-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}
.agencia-cta-badge {
    display: inline-block;
    background: var(--azul);
    color: #1a1a2e;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .25rem .75rem;
    border-radius: 999px;
    margin-bottom: .75rem;
}
.agencia-cta-titulo {
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 800;
    color: #1a1a2e;
    margin: 0 0 .5rem;
    line-height: 1.2;
}
.agencia-cta-desc {
    font-size: .9rem;
    color: var(--cinza-escuro);
    margin: 0;
    max-width: 480px;
    line-height: 1.6;
}
.agencia-cta-acao {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .6rem;
    flex-shrink: 0;
}
.agencia-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--azul);
    color: #1a1a2e;
    font-size: .95rem;
    font-weight: 800;
    padding: .85rem 1.75rem;
    border-radius: 999px;
    text-decoration: none;
    transition: opacity 150ms;
    white-space: nowrap;
}
.agencia-cta-btn:hover { opacity: .85; color: #1a1a2e; }
.agencia-cta-nota {
    font-size: .75rem;
    color: var(--cinza-escuro);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: .35rem;
    padding-left: .25rem;
}
@media (max-width: 767px) {
    .agencia-cta-inner { flex-direction: column; align-items: flex-start; }
    .agencia-cta-acao { width: 100%; }
    .agencia-cta-btn { width: 100%; justify-content: center; }
}



/* HERO / HEADER */
.hero {
    position: relative;
    background-color: var(--preto);
    background-image: url('../img/hero-home.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}

/* overlay escuro gradiente para legibilidade do texto */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.35) 50%,
        rgba(0,0,0,.65) 100%
    );
    pointer-events: none;
    z-index: 0;
}

.hero-container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding-top: 3rem;
    padding-bottom: 3.5rem;
    min-height: 540px;
    justify-content: flex-end;
}

/* logo centralizada no topo */
.hero-logo {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 140px;
    width: 100%;
}
.hero-logo img { width: 100%; }

/* headline */
.hero-headline { max-width: 680px; }

.hero-eyebrow {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: .5rem;
    color: #fff;
}

.hero-title {
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
    margin: 0;
}

/* busca + chat inline */
.hero-search-row {
    display: flex;
    align-items: stretch;
    gap: .5rem;
    width: 100%;
    max-width: 640px;
}
.hero-search-wrap { flex: 1; }

.hero-chat-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50% !important;
    padding: 0 !important;
    font-size: 1rem;
}

/* badges social proof */
.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    justify-content: center;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    padding: .35rem .85rem;
    border-radius: 999px;
    white-space: nowrap;
}
.hero-badge i { font-size: .7rem; opacity: .9; }

/* mobile */
@media (max-width: 575px) {
    .hero-container { min-height: 480px; padding-top: 2rem; padding-bottom: 2.5rem; }
    .hero-logo { top: 1.5rem; max-width: 110px; }
    .hero-chat-btn { width: 44px; height: 44px; }
}



/* FOOTER */
footer { }

.footer-container {
    padding-top: 2rem;
    padding-bottom: 0;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    align-items: start;
}

@media (max-width: 767px) {
    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
    .footer-marca {
        grid-column: 1 / -1;
    }
}

/* Marca */
.footer-logo img {
    height: 36px;
    display: block;
}
.footer-tagline {
    font-size: .8rem;
    color: rgba(255,255,255,0.7);
    margin: .5rem 0 1rem;
    font-weight: 500;
    line-height: 1.5;
}
.footer-social-label {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-bottom: .45rem;
}
.footer-social-icons {
    display: flex;
    gap: .4rem;
}
.footer-social-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(255,255,255,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 150ms;
    text-decoration: none;
}
.footer-social-icon:hover {
    background: rgba(255,255,255,0.28);
}

/* Colunas de links */
.footer-col-titulo {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: .75rem;
}
.footer-col-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.footer-col-links a {
    font-size: .83rem;
    color: rgba(255,255,255,0.88);
    text-decoration: none;
    font-weight: 500;
    transition: color 150ms;
}
.footer-col-links a:hover {
    color: #fff;
}

/* Barra inferior */
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 0;
    gap: 1rem;
    flex-wrap: wrap;
}
.footer-copy {
    font-size: .72rem;
    color: rgba(255,255,255,0.4);
    font-weight: 500;
}
.footer-bottom-link {
    font-size: .72rem;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    font-weight: 500;
    transition: color 150ms;
}
.footer-bottom-link:hover {
    color: #fff;
}


/* DESKTOP */
@media (min-width: 992px) {
	/*.busca.ativo .busca-resultado {
		max-width: 100%;
	}
	.lista .item {
	    width:  calc(var(--medida) * 10);
	}
	.lista .item .imagem {
		min-height: calc(var(--medida) * 5);
	}*/
}

.nogap{
    gap:0;
}

.header-features svg path{
    fill: var(--vermelho) !important;
}

p{
    line-height: 1.5em;
}

.feedback, .feedback-avail{
    display:none;
    border-radius: 30px;
    background: var(--vermelho);
    color:white;
    padding:10px;
    margin:20px 0;
    text-align: center;
    font-family: var(--text);
    font-weight: 700;
}

.feedback ul, .feedback ul li{
    list-style: none;
    padding:0;
    margin:0;
}

.notificacao {
    position: absolute;
    top: 0;
    right: 0;
    background-color: red;
    color: white;
    padding: 2px 7px;
    border-radius: 50%;
    font-size: 9px;
}

.disabled{
    opacity:0.5;
}

.progress-bar{
    background-color:#F84B4B;
    transition: all 500ms ease-in-out;
}

[aria-invalid="true"] {
    border: 2px solid red; /* Exemplo de estilo de borda vermelha */
    /* Adicione aqui quaisquer outros estilos que deseja aplicar */
}
.error{
    color:red;
}

.checkout-totals{
    border:1px dashed #ccc;
    padding:20px;
    margin-top:10px;
    border-radius: 10px;
}

.dashboard.ativo .menu-itens{
    text-align: center !important;
    align-items: center !important;
}
.alert-warning{
    color: #946706;
    background-color: #fef2d9;
    border-color: #fef2d9;
}

.alert-sm{
    padding:5px;
    font-size:12px;
    z-index:20;
}

.text-warning{
    color:var(--amarelo) !important;
}

.until{
    margin:0 !important;
    padding:0 !important;
}

.input-group-text{
    border: 2px solid var(--cinza);
    border-right: none;
    border-radius: 50px 0 0 50px;
}
.input-group .form-control{
    padding-left:10px !important;
}

.focused{
    border: 2px solid var(--azul);
}

.help .card, .help .card-header{
    background: #f7f7f7;
    border:none;
    border-radius:30px 30px 0 0;
}
.help .card-header{
    padding-top:20px;
    font-size: 1.5em;
    color: var(--azul);
    font-weight: bold;
}
.help .card{
    min-height:300px;
    border-radius:30px;
}
.help .card .card-body {
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius:0 0 30px 30px;
}

.aba-seta, .aba-seta-agencia{
    position:absolute;
    left:15px;
}

.tox-tinymce {
    border-radius:30px !important;
}
.tox-statusbar{display:none !important;}

.cart-resume{
    background: var(--branco);
    border-radius:30px;
    padding: 20px 10px;
    margin:10px 0;
    line-height: 25px;
}

.payment-tabs a, .payment-tabs i{
    font-size:13px;
    color:#ccc;
}

.payment-tabs a.active {
    color:var(--preto);
}
.dropzone{
    padding: 0;
}
.dropzone .dz-preview .dz-image{
    border-radius: 10px;
    width: 100px;
    height: 80px;
}

.dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 5px;
    min-height: 100px;
}

.dropzone.dz-clickable{
    border-radius: 15px;
}
.dz-message{
    cursor: pointer;
    color: #ccc;
    text-align: center;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    /* justify-items: center; */
    /* border: 1px solid; */
    width: 100%;
    font-weight: 400;
}
.dz-details{
    display:none;
}

.swal2-styled.swal2-confirm{
    background-image: none !important;
    background-color: #0CC5FF !important;
    font-size: 0.875rem;
    border-radius: 10px;
}
.swal2-styled.swal2-cancel{
    background-color:#ea5455;
    border: 0;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    border-radius: 10px;
}
@media (max-width: 768px) {
    .text-sm {
        font-size: 11px !important;
    }
    .dataTable-dropdown{
        display:none;
    }
    .dataTable-search{
        width:100%;
        margin-top:0 !important;
    }
    .dataTable-wrapper .dataTable-bottom {
        margin-top:150px !important;
    }
}



/*.choices__input{*/
/*    display:none !important;*/
/*}*/

.choices__list{
    padding: 10px 0 5px;
    width: 100%;
}

.choices__inner .error{
    position: absolute;
    bottom: -20px;
    left: 0;
}

.input-group .error{
    border-radius: 40px 0px 0px 40px !important;
}

@media (min-width: 768px) {
    #aba-cadastro-atividade, #aba-editar-atividade, .aba-atividade{
        width: 75%;
    }
}
.dashboard-container{
    width: 100%;
    padding: 0 0 0 5%;
}
@media (min-width: 768px) {
    .dashboard-container{
        max-width: 100%;
        padding-left: 5%;
    }
}
.choices[data-type*=select-one] .choices__input{
    border-bottom: 1px solid #ccc !important;
    border-radius:1px;
}

   .choices[data-type*=select-one] select.choices__input {
       display: block !important;
       opacity: 0;
       pointer-events: none;
       position: absolute;
       left: 0;
       bottom: 0;
   }


   .choices.is-focused,
   .choices:focus-within,
   .choices:focus {
       box-shadow: $focus-box-shadow;
   }

div:has(.choices__input.error){
    border-color: red;
    margin-bottom:20px;
}

.input-group input.error{
    border-color: transparent !important;
    border-radius: 50px !important;
}

.input-group label.error {
    position:absolute;
    left:0;
    bottom:-30px;
}

.input-group:has(input.error) {
    border: 2px solid red;
    border-radius: 50px;
    margin-bottom:30px;
}


.no-hand{
    cursor: default !important;
}


.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999999;
}

.lgpdpopup {
    background-color: white;
    padding: 20px;
    width: 100%;
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    bottom:0;
    z-index:999999;
    text-align: center;
}

.cookieoptions{
    border:1px solid #bdbdbd !important;
    background: rgba(225, 225, 225, 0.44);
    text-align:left;
    margin:20px auto;
    border-radius:10px;
    padding:40px 70px;
    max-width: 50%;
    display:none;
    color: #747474;
}

@media (max-width: 768px) {
    .cookieoptions{
        border:1px solid #bdbdbd !important;
        background: rgba(225, 225, 225, 0.44);
        text-align:left;
        margin:0;
        border-radius:10px;
        padding:20px;
        max-width: 100%;
        display:none;
        color: #747474;
        overflow: scroll;
        height: 50vh;
        margin-top:40px;
    }

}
.form-check-input:checked{
    background-color:#F84B4B;
    border:none;
}
.lgpdtrigger{
    background: white;
    width: 35px;
    height: 35px;
    position:fixed;
    border-radius: 0 10px 10px 0;
    left:0;
    bottom:20px;
    z-index:20;
    display:flex;
    justify-content: center;
    align-items:center;
    align-content: center;
    -webkit-box-shadow: 0px 0px 9px 0px rgba(143,143,143,0.21);
    -moz-box-shadow: 0px 0px 9px 0px rgba(143,143,143,0.21);
    box-shadow: 0px 0px 9px 0px rgba(143,143,143,0.21);
}

.note-editor.note-airframe, .note-editor.note-frame {
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 40px;
    overflow: hidden;
    padding: 10px;
}

.note-editor .note-toolbar, .note-popover .popover-content {
    margin: 0;
    padding: 0 0 5px 5px;
    text-align: center;
}


/* =============================================
   MOBILE SCROLL PERFORMANCE
   Remove backdrop-filter (very expensive on mobile),
   isolate card paint areas, disable hover transitions
   that don't apply on touch devices.
============================================= */
@media (max-width: 767px) {

    /* Remove backdrop-filter dos badges — substitui por fundo sólido */
    .produto-badge {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(0,0,0,.70);
    }

    .produto-favorito {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(255,255,255,.95);
    }

    .hero-badge {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(0,0,0,.45);
    }

    /* Isola o repaint de cada card — o browser só repinta o card tocado */
    .produto-card {
        contain: layout style paint;
    }

    /* Desativa transições de hover/box-shadow (não existem em touch) */
    .produto-card,
    .produto-foto {
        transition: none;
    }

    /* Reduz a complexidade do box-shadow nos cards — sombras grandes
       custam paint por todo o pixel da área borrada */
    .produto-card {
        box-shadow: 0 1px 4px rgba(0,0,0,.08);
    }

    /* Remove GPU layers desnecessárias — libera memória no iOS */
    nav.menu {
        will-change: auto;
        transform: none;
    }
    nav.menu-expansivo .principal {
        will-change: auto;
        transform: translateX(-100%);
    }
    nav.menu-expansivo.ativo .principal {
        transform: translateX(0);
    }

    /* Desativa transforms de hover no touch — iOS dispara :hover ao tocar
       e calcula transform/box-shadow durante o scroll, gerando white flash */
    .produto-card:hover,
    .produto-card:hover .produto-foto,
    .produto-foto:hover,
    .destino-galeria-main:hover .destino-galeria-img,
    .destino-galeria-thumb:hover .destino-galeria-img,
    .como-funciona-card:hover,
    .filtro-data-pill:hover,
    .filtro-btn-aplicar:hover,
    .filtro-chip:hover,
    .reserva-cancelar:hover,
    .footer-social-icon:hover,
    .sidenav-v2-btn-solid:hover,
    .sidenav-v2-btn-outline:hover,
    .sidenav-v2-receptivo:hover {
        transform: none !important;
    }

    /* content-visibility: auto FOI REMOVIDO daqui.
       Diagnóstico: a otimização pula render de cards off-screen — boa
       em scroll lento, péssima em subida rápida do final da página pro
       topo. Todos os cards offscreen precisam ser repintados ao mesmo
       tempo e iOS WebKit (Safari E Chrome) não acompanha → tela branca.
       Mantemos só `contain: layout style paint` (definido acima) que
       isola o paint sem pular render. */

    /* Placeholder cinza no espaço da imagem do card. Se o navegador
       descartar uma imagem decodificada por pressão de memória, o
       usuário vê cinza claro em vez de branco até o decode terminar. */
    .produto-imagem {
        background: #e5e7eb;
    }
    .produto-foto {
        background: #e5e7eb;
    }
}

/* === Loading state em botões (spinner animado) === */
.btn-loader {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: tg-spin 0.65s linear infinite;
    margin-right: 10px;
    vertical-align: -3px;
}
.btn-loader-dark {
    border-color: rgba(0, 0, 0, 0.15);
    border-top-color: rgba(0, 0, 0, 0.6);
}
@keyframes tg-spin {
    to { transform: rotate(360deg); }
}
.btn-spinner .btn-status-text {
    display: inline-block;
    transition: opacity 0.18s ease;
}
.btn-spinner.is-fading .btn-status-text {
    opacity: 0;
}

/* ========================================================================
   Página de destino — conteúdo estruturado (novo, Onda 1)
   ======================================================================== */

/* Selo de confiança no lugar das estrelas vazias */
.destino-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8f1 100%);
    color: #1b5e20;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
}
.destino-trust-badge i { color: #2e7d32; font-size: 14px; }

/* Pills de características no topo do header */
.destino-features-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.destino-feature-pill--top {
    background: #f5f7fa;
    border: 1px solid #e3e8ef;
    color: #455a64;
    padding: 5px 12px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
}

/* Bloco "Sobre o passeio" (4 ícones) */
.destino-about { padding: 0 !important; }
.destino-about-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.destino-about-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.destino-about-item i {
    font-size: 22px;
    color: #0077b6;
    margin-top: 2px;
    flex-shrink: 0;
}
.destino-about-item strong {
    display: block;
    font-size: 13px;
    color: #1a1a2e;
    font-weight: 700;
    margin-bottom: 2px;
}
.destino-about-item span {
    font-size: 12px;
    color: #777;
}

/* Highlights */
.destino-highlights {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.destino-highlights li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #333;
    line-height: 1.5;
}
.destino-highlights i {
    color: #f9a825;
    margin-top: 4px;
    font-size: 13px;
    flex-shrink: 0;
}

/* Vídeo embed responsivo */
.destino-video {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}
.destino-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Itinerário numerado */
.destino-itinerario {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: stops;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.destino-itinerario li {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
    color: #333;
    line-height: 1.5;
}
.destino-step-num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    background: #1a1a2e;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

/* Checklist (incluso / não incluso / info) */
.destino-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.destino-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #333;
    line-height: 1.5;
}
.destino-checklist i {
    margin-top: 4px;
    font-size: 13px;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
}
.destino-checklist--ok i { color: #2e7d32; }
.destino-checklist--no i { color: #c62828; }
.destino-checklist--info i { color: #0277bd; }
.destino-subtitulo {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 20px 0 12px;
}

/* Zonas de pickup */
.destino-pickup-intro {
    margin: 0 0 12px;
    color: #555;
    font-size: 14px;
}
.destino-pickup-zones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.destino-pickup-zones .destino-feature-pill {
    background: #eef4fb;
    color: #0277bd;
    border: 1px solid #cfe4f5;
    padding: 6px 12px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
}
.destino-pickup-zones .destino-feature-pill i { margin-right: 4px; }

@media (max-width: 576px) {
    .destino-about-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 16px;
        gap: 14px;
    }
    .destino-about-item i { font-size: 18px; }
    .destino-about-item strong { font-size: 12px; }
    .destino-about-item span { font-size: 11px; }
}

/* Empty state de avaliações */
.reviews-empty {
    text-align: center;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
    padding: 40px 28px;
}
.reviews-empty-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: #eef4fb;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.reviews-empty-icon i { font-size: 26px; color: #0077b6; }
.reviews-empty h3 {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 8px;
}
.reviews-empty p {
    color: #666;
    font-size: 14px;
    margin: 0 0 20px;
    line-height: 1.5;
}

/* ========================================================================
   Tab navigation no topo do conteúdo do destino
   ======================================================================== */
.destino-tabs-wrapper {
    position: sticky;
    /* Gruda LOGO ABAIXO do header da Turgo (nav.menu — calc(--medida * 2.5) = 60px) */
    top: calc(var(--medida) * 2.5);
    /* z-index abaixo do header (25) pra nunca cobrir o logo, mas alto o suficiente
       pra ficar acima do conteúdo (sections com z-index auto) */
    z-index: 24;
    background: #fff;
    margin: 0 0 24px;
    border-bottom: 1px solid #e3e8ef;
    box-shadow: 0 4px 12px -6px rgba(0, 0, 0, 0.12);
}

/* Gradient overlays nas bordas como pseudo-elements (não transparenta o wrapper inteiro) */
.destino-tabs-wrapper::before,
.destino-tabs-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 24px;
    pointer-events: none;
    z-index: 2;
}
.destino-tabs-wrapper::before {
    left: 0;
    background: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0));
}
.destino-tabs-wrapper::after {
    right: 0;
    background: linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0));
}
.destino-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0 8px;
}
.destino-tabs::-webkit-scrollbar { display: none; }

.destino-tab {
    position: relative;
    flex-shrink: 0;
    padding: 16px 14px;
    color: #6b7785;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color .18s ease;
    white-space: nowrap;
    cursor: pointer;
}
.destino-tab::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 3px;
    background: var(--vermelho, #e53935);
    border-radius: 3px 3px 0 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}
.destino-tab:hover { color: #1a1a2e; text-decoration: none; }
.destino-tab.active {
    color: var(--vermelho, #e53935);
}
.destino-tab.active::after {
    transform: scaleX(1);
}
.destino-tab:focus { outline: none; }
.destino-tab:focus-visible {
    outline: 2px solid var(--vermelho, #e53935);
    outline-offset: -2px;
    border-radius: 4px;
}

/* Sumir o tab bar na impressão */
@media print {
    .destino-tabs-wrapper { display: none; }
}

@media (max-width: 576px) {
    .destino-tab { padding: 14px 12px; font-size: 13px; }
    .destino-tab::after { left: 12px; right: 12px; }
}
