/**
 * RecuperaCo — estilos de formularios (front).
 *
 * @package RecuperaCo
 */

.recuperaco {
	--rc-border: #d8dee4;
	--rc-accent: #1d6b4a;
	--rc-error: #b42318;
	--rc-success: #0f5132;
	--rc-muted: #5c6b7a;
	max-width: 36rem;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.5;
}

.recuperaco-form p {
	margin: 0 0 1rem;
}

.recuperaco-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25rem;
}

.recuperaco-form input[type="text"],
.recuperaco-form input[type="email"],
.recuperaco-form input[type="tel"],
.recuperaco-form input[type="password"],
.recuperaco-form input[type="date"],
.recuperaco-form input[type="time"],
.recuperaco-form select,
.recuperaco-form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	background: #fff;
}

.recuperaco-form--inline {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
	align-items: end;
}

.recuperaco-form--inline .recuperaco-full {
	grid-column: 1 / -1;
}

@media (max-width: 520px) {
	.recuperaco-form--inline {
		grid-template-columns: 1fr;
	}
}

.recuperaco-btn {
	display: inline-block;
	padding: 0.55rem 1.1rem;
	border: none;
	border-radius: 6px;
	background: var(--rc-accent);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

.recuperaco-btn:hover {
	filter: brightness(1.05);
}

.recuperaco-msg {
	padding: 0.65rem 0.85rem;
	border-radius: 6px;
	margin: 0 0 1rem;
}

.recuperaco-msg--error {
	background: #fde8e6;
	color: var(--rc-error);
	border: 1px solid #f5c2c0;
}

.recuperaco-msg--success {
	background: #d1e7dd;
	color: var(--rc-success);
	border: 1px solid #badbcc;
}

.recuperaco-msg--info {
	background: #e7f1ff;
	color: #084298;
	border: 1px solid #b6d4fe;
}

.recuperaco-hint {
	display: block;
	font-size: 0.875rem;
	font-weight: normal;
	margin-top: 0.35rem;
}

.recuperaco-hint a {
	color: var(--rc-accent);
}

.recuperaco-check label {
	font-weight: normal;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.recuperaco-check input {
	margin-top: 0.2rem;
}

.recuperaco-terms-label a {
	color: var(--rc-accent);
}

.recuperaco-links {
	font-size: 0.95rem;
}

.recuperaco-sep {
	color: var(--rc-muted);
}

.recuperaco-panel__section {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--rc-border);
}

.recuperaco-panel__section:last-of-type {
	border-bottom: none;
}

.recuperaco-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.recuperaco-table th,
.recuperaco-table td {
	border: 1px solid var(--rc-border);
	padding: 0.5rem 0.65rem;
	text-align: left;
	vertical-align: top;
}

.recuperaco-table th {
	background: #f4f6f8;
}

.recuperaco-muted {
	color: var(--rc-muted);
	font-size: 0.95rem;
}

.recuperaco-panel__meta {
	margin-top: 1rem;
}

.required {
	color: var(--rc-error);
}
