/*
 * Passaporte Callejero — visual de passaporte físico: capa com
 * wordmark, "páginas" internas em grid, carimbos bloqueados em
 * silhueta esmaecida até serem desbloqueados.
 */

.sudaca-passport {
	background: #F4F1EA;
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: clamp(24px, 4vw, 56px);
	max-width: 960px;
}

.sudaca-passport__header {
	text-align: center;
	padding-bottom: clamp(24px, 4vw, 48px);
	margin-bottom: clamp(24px, 4vw, 48px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.sudaca-passport__cover-wordmark {
	display: block;
	font-family: 'Archivo Black', 'Helvetica Neue', Arial, sans-serif;
	font-size: 22px;
	letter-spacing: 0.02em;
	margin-bottom: 12px;
}

.sudaca-passport__sep {
	opacity: 0.4;
	margin: 0 0.3em;
}

.sudaca-passport__count {
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0;
}

.sudaca-passport__next-tier {
	font-size: 12px;
	opacity: 0.6;
	margin: 6px 0 0;
}

.sudaca-passport__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 24px;
	margin-bottom: clamp(32px, 5vw, 64px);
}

.sudaca-passport__stamp {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 16px 10px;
	border: 1px dashed rgba(0, 0, 0, 0.2);
	border-radius: 50%/8%; /* leve efeito "selo" */
}

.sudaca-passport__stamp.is-locked {
	opacity: 0.35;
	filter: grayscale(1);
}

.sudaca-passport__stamp img,
.sudaca-passport__stamp-placeholder {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	background: repeating-linear-gradient(
		135deg,
		rgba(0, 0, 0, 0.15),
		rgba(0, 0, 0, 0.15) 2px,
		transparent 2px,
		transparent 8px
	);
}

.sudaca-passport__stamp-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.sudaca-passport__stamp-blurb {
	font-size: 11px;
	opacity: 0.7;
	margin: 0;
	line-height: 1.4;
}

.sudaca-passport__stamp-date {
	font-size: 10px;
	opacity: 0.5;
}

.sudaca-passport__submit {
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	padding-top: clamp(24px, 4vw, 48px);
}

.sudaca-passport__submit h2 {
	font-family: 'Archivo Black', 'Helvetica Neue', Arial, sans-serif;
	font-size: 18px;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.sudaca-passport__submit-form {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 480px;
	margin-top: 16px;
}

.sudaca-passport__submit-form label {
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-top: 12px;
}

.sudaca-passport__submit-form select,
.sudaca-passport__submit-form textarea,
.sudaca-passport__submit-form input[type="file"] {
	font-family: inherit;
	font-size: 14px;
	padding: 10px;
	border: 1px solid rgba(0, 0, 0, 0.3);
	background: #fff;
}

.sudaca-passport__submit-form button {
	margin-top: 16px;
	align-self: flex-start;
}

.sudaca-passport__submit-success {
	color: #1a7f37;
	font-size: 13px;
}

.sudaca-passport__submit-empty {
	font-size: 13px;
	opacity: 0.6;
}
