/* Bloco 01 — Petição + narrativa (Figma: 15081:5865) */
.petition { background: var(--color-branco); padding: 120px; }
.petition__wrap { display: flex; align-items: flex-start; justify-content: center; gap: 56px; width: 100%; max-width: 1320px; margin-inline: auto; }

.petition__card {
	flex: none; width: 561px; padding: 40px;
	background: var(--color-roxo-escuro);
	border-radius: 32px;
	box-shadow: 10px 10px 0 var(--color-laranja);
	scroll-margin-top: 24px;
}
.petition__form { display: flex; flex-direction: column; gap: 32px; }
.petition__head { display: flex; flex-direction: column; gap: 24px; }
.petition__title { font: 700 32px/40px var(--font-body); color: var(--color-amarelo-claro); }
.petition__title .nowrap { white-space: nowrap; }
.petition__progress { display: flex; flex-direction: column; gap: 10px; }
.petition__deadline {
	font: 700 16px/26px var(--font-body); color: var(--color-amarelo);
	transform-origin: 50% 50%;
	animation: petition-pulse 0.8s linear infinite;
}
@keyframes petition-pulse {
	0%      { transform: scale(1);        animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1); }
	36.346% { transform: scale(0.947873); animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1); }
	73.29%  { transform: scale(1); }
	100%    { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) { .petition__deadline { animation: none; } }

.petition__meter { display: flex; align-items: center; gap: 8px; width: 481px; max-width: 100%; }
.petition__track {
	position: relative; flex: none; width: 433px; max-width: calc(100% - 48px); height: 20px;
	overflow: hidden;
	border: 3px solid var(--color-roxo-escuro); border-radius: 99px;
	background: var(--color-roxo-claro);
}
.petition__fill { position: absolute; top: 0; bottom: 0; left: 0; background: var(--color-amarelo); transition: width .6s ease; }
.petition__percent { width: 40px; font: 700 18px/26px var(--font-body); color: var(--color-amarelo); }

.petition__fields { display: flex; flex-direction: column; gap: 16px; }
.petition__field { display: flex; flex-direction: column; gap: 6px; }
.petition__label {
	font: 700 13.6px/21.76px var(--font-body);
	letter-spacing: 1.088px; text-transform: uppercase;
	color: var(--color-amarelo-claro);
}
.petition__input {
	width: 100%; height: 59.2px; padding: 0 16px;
	border: 3px solid transparent; border-radius: 14px;
	background: var(--color-amarelo-claro); color: var(--color-roxo-escuro);
	font: 400 16px/normal var(--font-body);
}
.petition__input::placeholder { color: #7d6a8e; opacity: 1; }
.petition__input:focus-visible { outline: 0; border-color: var(--color-amarelo); }

.petition__submit-area { display: flex; flex-direction: column; gap: 16px; }
.petition__submit { width: 100%; }
.petition__legal { font-size: 12px; line-height: 18px; text-align: center; color: var(--color-amarelo-claro); }
.petition__legal a { color: var(--color-amarelo); }

.petition__story { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 14.7px; scroll-margin-top: 24px; }
.petition__story-title { font: 400 56px/77.28px var(--font-title); color: var(--color-roxo-escuro); }
.petition__story-body { display: flex; flex-direction: column; gap: 24px; font-size: 18px; line-height: 28px; color: var(--color-roxo-escuro); }
.petition__story-body strong { font-weight: 700; }
.petition__highlight { font: 700 24px/32px var(--font-body); color: var(--color-laranja); }

/* Estados do envio (não existem no Figma: seguem a paleta) */
.petition__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.petition__feedback { min-height: 0; font: 700 14px/20px var(--font-body); text-align: center; color: var(--color-amarelo-claro); }
.petition__feedback:empty { display: none; }
.petition__feedback.is-error { color: var(--color-amarelo); }
.petition__submit[disabled] { opacity: .65; cursor: progress; }
.petition__input[aria-invalid="true"] { border-color: var(--color-amarelo); }
@media (prefers-reduced-motion: reduce) { .petition__fill { transition: none; } }
