/* Doações Estel — estilos do formulário público e da área do doador. */

.de-donation-form {
	max-width: 480px;
	margin: 0 auto;
	font-family: inherit;
}

.de-tabs {
	display: flex;
	margin-bottom: 1.25em;
	border-bottom: 2px solid #e2e2e2;
}

.de-tab {
	flex: 1;
	background: none;
	border: none;
	padding: 0.75em 0.5em;
	cursor: pointer;
	font-weight: 600;
	color: #666;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
}

.de-tab.is-active {
	color: #111;
	border-bottom-color: currentColor;
}

.de-field-group {
	margin-bottom: 1.1em;
}

.de-field-group label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
	font-size: 0.95em;
}

.de-field-group input[type="text"],
.de-field-group input[type="email"],
.de-field-group select {
	width: 100%;
	padding: 0.6em 0.75em;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1em;
	box-sizing: border-box;
}

.de-doc-required-note {
	font-weight: 400;
	color: #777;
	font-size: 0.85em;
}

.de-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.5em;
}

.de-amount-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 0.75em;
}

.de-amount-btn {
	padding: 0.6em 1.1em;
	border: 1px solid #ccc;
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 0.95em;
}

.de-amount-btn.is-active {
	background: #111;
	color: #fff;
	border-color: #111;
}

.de-other-amount {
	display: block;
}

.de-other-amount input {
	margin-top: 0.35em;
}

.de-method-group {
	display: flex;
	gap: 1.5em;
}

.de-method-group label {
	display: flex;
	align-items: center;
	gap: 0.4em;
	font-weight: 400;
}

.de-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.de-payment-element {
	margin: 1.25em 0;
}

.de-pix-result {
	margin: 1.25em 0;
	text-align: center;
}

.de-qrcode-img {
	max-width: 260px;
	width: 100%;
	height: auto;
	margin-bottom: 0.75em;
}

.de-copia-cola {
	width: 100%;
	min-height: 4.5em;
	font-family: monospace;
	font-size: 0.85em;
	padding: 0.5em;
	box-sizing: border-box;
}

.de-polling-status {
	font-style: italic;
	color: #555;
}

.de-form-message {
	min-height: 1.2em;
	margin: 0.75em 0;
	font-weight: 600;
}

.de-form-message.is-error {
	color: #b32d2e;
}

.de-form-message.is-success {
	color: #1e7e34;
}

.de-submit-btn {
	width: 100%;
	padding: 0.85em;
	font-size: 1.05em;
	font-weight: 700;
	background: #111;
	color: #fff;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.de-submit-btn:disabled {
	opacity: 0.6;
	cursor: default;
}

/* Login próprio do doador ([login_doacoes_estel]). */

.de-login-area {
	max-width: 380px;
	margin: 0 auto;
}

.de-login-form p {
	margin-bottom: 1em;
}

.de-login-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
	font-size: 0.95em;
}

.de-login-form input[type="text"],
.de-login-form input[type="email"],
.de-login-form input[type="password"] {
	width: 100%;
	padding: 0.6em 0.75em;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1em;
	box-sizing: border-box;
}

.de-login-message {
	font-weight: 600;
	margin-bottom: 1em;
}

.de-login-message.is-error {
	color: #b32d2e;
}

.de-login-message.is-success {
	color: #1e7e34;
}

.de-login-links {
	text-align: center;
	font-size: 0.9em;
}

/* Área do doador. */

.de-donor-area {
	max-width: 640px;
	margin: 0 auto;
}

.de-donation-card {
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 1.25em;
	margin-bottom: 1.25em;
}

.de-donation-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.2em;
	margin-bottom: 0.5em;
}

.de-badge {
	font-size: 0.7em;
	font-weight: 700;
	padding: 0.25em 0.75em;
	border-radius: 999px;
	text-transform: uppercase;
	background: #eee;
	color: #333;
}

.de-badge--active {
	background: #d4edda;
	color: #1e7e34;
}

.de-badge--past_due {
	background: #fff3cd;
	color: #856404;
}

.de-badge--cancelled,
.de-badge--failed {
	background: #f8d7da;
	color: #b32d2e;
}

.de-badge--pending {
	background: #d1ecf1;
	color: #0c5460;
}

.de-payment-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.5em;
}

.de-payment-table th,
.de-payment-table td {
	text-align: left;
	padding: 0.4em 0.5em;
	border-bottom: 1px solid #eee;
	font-size: 0.9em;
}

.de-donation-card__actions {
	margin-top: 1em;
	display: flex;
	gap: 0.6em;
	flex-wrap: wrap;
}

.de-btn {
	padding: 0.5em 1em;
	border-radius: 6px;
	border: 1px solid #ccc;
	background: #fff;
	cursor: pointer;
	font-size: 0.9em;
}

.de-btn--secondary {
	border-color: #999;
}

.de-btn--danger {
	border-color: #b32d2e;
	color: #b32d2e;
}

.de-pending-pix-notice {
	background: #fff9e6;
	border: 1px solid #ffe58f;
	border-radius: 8px;
	padding: 0.75em 1em;
	margin-bottom: 0.75em;
}

.de-card-update-form {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px dashed #ccc;
}
