body {
	font-family: 'Inter', sans-serif;
}

/* Transição suave para a altura do acordeão */
.accordion-content {
	transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
}

/* Estilo para o fundo do Hero */
.diagonal-bg {
	clip-path: none;
}
    
/* Imagem de fundo cobre toda a seção */
.diagonal-bg > div {
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat;
}
    
/* Sobe a imagem em tablet e mobile */
@media (max-width: 1024px) {
	.diagonal-bg > div {
		background-position: center -150px !important;
	}            
	/* Logo branco em tablet e mobile */
	.logo-text {
		color: white !important;
		display: flex;
		justify-content: center;
	}
}

/* Fix para alinhamento correto em Firefox em lg (1024px+) */
@media (min-width: 1024px) {
	.grid.grid-cols-1 > div:first-child[class*="mx-auto"] {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Container dos Cards */
.cards-wrapper {
	display: flex;
	width: 100%;
	height: 500px; /* Altura fixa para a galeria */
	gap: 12px;     /* Espaço entre os cards */
}

/* Estilo Individual do Card */
.card {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 24px; /* Bordas arredondadas */
	cursor: pointer;
	flex: 1.2; /* Tamanho padrão (fechado) - aumentado */
	transition: flex 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
				opacity 0.5s ease,
				box-shadow 0.5s ease; /* Animação suave de expansão */
	overflow: hidden;
	opacity: 0.65; /* Levemente transparente quando inativo */
	box-shadow: 0 4px 15px rgba(0,0,0,0.15), inset 0 0 30px rgba(0,0,0,0.1);
}

/* Estado Ativo (Hover ou Selecionado) */
.card.active {
	flex: 5; /* Tamanho expandido (aberto) */
	opacity: 1;
	box-shadow: 0 15px 40px rgba(0,0,0,0.3), inset 0 0 30px rgba(0,0,0,0.05);
}

/* Gradiente para o texto */
.card::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 50%, rgba(0,0,0,0.9) 100%);
	opacity: 1;
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	z-index: 5;
}
.card.active::before {
	opacity: 0;
}

/* Texto dentro do Card */
.card-text {
	position: absolute;
	/* Alinha na parte de baixo */
	bottom: 0; 
	/* Centraliza horizontalmente */
	left: 50%; 
    
	color: #fff;
	writing-mode: vertical-rl;
	text-orientation: mixed;
    
	/* Ajuste Fino:
	translateX(-50%): Centraliza horizontalmente no eixo X.
	rotate(180deg): Faz o texto ser lido de baixo para cima. 
	*/
	transform: translateX(-50%) rotate(180deg);
    
	/* Espaçamento extra do fundo (opcional) */
	margin-bottom: 48px; 

	/* O restante permanece igual */
	opacity: 1;
	/* Evita animar transform (rotacao). Mantem transições apenas em propriedades visuais. */
	transition: opacity 0.25s ease, font-size 0.25s ease, bottom 0.25s ease;
	transition-delay: 0.05s;
	z-index: 10;
	font-family: 'Inter', Arial, sans-serif;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-shadow: 0 2px 8px rgba(0,0,0,0.45);
	line-height: 1.1;
	padding: 0;
	margin-left: 0; /* Reset de margem lateral */
	text-align: center;
	border: none;
	box-shadow: none;
	background: none;
}

/* Mostrar texto quando ativo */
.card.active .card-text {
	opacity: 1;
	writing-mode: horizontal-tb;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 48px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

/* Texto vertical para estados inativos (Opcional - Estilo Visual) */
.card:not(.active) .vertical-text {
	display: block;
}

/* Estilos de 3D Flip */
.perspective-1000 {
	perspective: 1000px;
}

.preserve-3d {
	transform-style: preserve-3d;
}

.backface-hidden {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.rotate-y-180 {
	transform: rotateY(180deg);
}

.group:hover .flip-inner {
	transform: rotateY(180deg);
}

/* Remove o contorno padrão e a sombra de foco */
#leadForm input:focus {
    outline: none !important;
    box-shadow: none !important;
    /* Mantém a cor da borda cinza original mesmo ao clicar */
    border-color: #d1d5db !important; 
}


@media ( max-width: 768px) {
	.card.active .card-text {
		font-size: 28px;
	}
}

/* Estilos para select com erro */
select.border-red-500 {
	border-color: #ef4444 !important;
	border-width: 1px !important;
}

select.ring-red-500 {
	box-shadow: 0 0 0 1px #ef4444 !important;
}