* {
	padding: 0;
	margin: 0;
	font-family: 'Inter';
}

.input.border-red-500 {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,0.35);
}


/* INPUTS */
label {
	font-size: 13px;
	font-weight: 600;
}

.input {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0.375rem;
	padding: 10px;
	color: #1f2937; /* gray-800 */
	font-size: 14px;
	transition: all .2s ease;
}

.input-error {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.35);
}

.error-text {
	color: #ef4444;
	font-size: 12px;
	margin-top: 4px;
}

.tachado {
	text-decoration: line-through;
}


.input::placeholder {
	color: rgba(31, 41, 55, 0.7);
}

.input:focus {
	outline: none;
	border: solid 1px #3226e2b2;
	box-shadow: 0 0 0 1px #3226e2b2;
	background: #ffffff;
}



/* BOTÃO DE PAGAMENTO (PIX / CARTÃO) */
.payment-btn {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 18px;
	border-radius: 0.375rem;
	border: 2px solid rgba(0, 0, 0, 0.12);
	background: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	transition: all .25s ease;
}

.payment-btn:hover {
	border-color: green;
	background: rgba(139, 92, 246, 0.06);
}

/* Selecionado */
.payment-btn.active {
	border-color: green;
	background: rgba(97, 246, 92, 0.14);
	box-shadow: 0 0 0 2px rgba(97, 246, 92, 0.35);
}



/* SELECT (PARCELAMENTO) */
select.input {
	background-color: rgba(255, 255, 255, 0.9);
	color: #1f2937;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
}

/* Opções do select */
select.input option {
	background-color: #ffffff;
	color: #1f2937;
}

/* Placeholder fake (primeira opção) */
select.input option[value=""] {
	color: rgba(31, 41, 55, 1);
}

/* Focus */
select.input:focus {
	outline: none;
	border-color: #8b5cf6;
	box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.35);
}



/* LOADING (BOTÃO EM PROCESSO) */
.loading {
	cursor: wait;
	opacity: 0.6;
	pointer-events: none;
}


.alert {
	padding: 16px 18px;
	border-radius: 16px;
	color: #fff;
	font-size: 14px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	animation: slideIn .3s ease;
}

.alert-error {
	background: linear-gradient(135deg, #ef4444, #dc2626);
}

.alert-success {
	background: linear-gradient(135deg, #22c55e, #16a34a);
}

@keyframes slideIn {
	from {
		transform: translateY(-10px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.policies {
	font-size: 11px;
}