/* P3 Alô Página 3 — formulário público */
.p3l-wrap { max-width: 720px; margin: 0 auto; }
.p3l-form { font-size: 16px; line-height: 1.5; }
.p3l-campo { margin-bottom: 22px; }
.p3l-campo > label { display: block; font-weight: 600; margin-bottom: 6px; }
.p3l-req { color: #b32d2e; }
.p3l-campo input[type="text"],
.p3l-campo input[type="email"],
.p3l-campo input[type="tel"],
.p3l-campo textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #c9ced4;
	border-radius: 4px;
	font-size: 16px;
	font-family: inherit;
	background: #fff;
	box-sizing: border-box;
}
.p3l-campo input:focus,
.p3l-campo textarea:focus { outline: 2px solid #1d5fa8; outline-offset: 1px; border-color: #1d5fa8; }
.p3l-ajuda, .p3l-contador { display: block; margin-top: 5px; color: #666; font-size: 13px; }
.p3l-contador.p3l-excedeu { color: #b32d2e; font-weight: 600; }
.p3l-linha { display: flex; gap: 16px; flex-wrap: wrap; }
.p3l-linha .p3l-campo { flex: 1 1 220px; }
.p3l-fieldset { border: 1px solid #e2e5e9; border-radius: 6px; padding: 20px; margin: 0 0 22px; }
.p3l-fieldset legend { font-weight: 700; padding: 0 8px; font-size: 17px; }
.p3l-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; margin-top: 14px; }
.p3l-foto { border: 1px solid #e2e5e9; border-radius: 6px; overflow: hidden; background: #fafbfc; }
.p3l-foto > img { display: block; width: 100%; height: 150px; object-fit: cover; background: #eee; }
.p3l-foto-meta { padding: 10px; display: flex; flex-direction: column; gap: 7px; }
.p3l-foto-meta input[type="text"] { width: 100%; padding: 7px 8px; font-size: 13px; border: 1px solid #d3d7dc; border-radius: 3px; box-sizing: border-box; }
.p3l-foto-meta small { color: #777; font-size: 12px; }
.p3l-principal { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; cursor: pointer; }
.p3l-remover { background: none; border: none; color: #b32d2e; font-size: 13px; cursor: pointer; padding: 0; text-align: left; text-decoration: underline; }
.p3l-consent label { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; cursor: pointer; }
.p3l-consent input { margin-top: 3px; flex: 0 0 auto; width: 18px; height: 18px; }
.p3l-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.p3l-btn { display: block; width: 100%; padding: 15px; font-size: 17px; font-weight: 700; color: #fff; background: #1d5fa8; border: none; border-radius: 4px; cursor: pointer; }
.p3l-btn:hover { background: #17497f; }
.p3l-btn:disabled { background: #9aa4af; cursor: default; }
.p3l-alerta { background: #fdf0f0; border-left: 4px solid #b32d2e; padding: 13px 15px; margin-bottom: 22px; border-radius: 3px; font-size: 15px; }
.p3l-sucesso { background: #eef7ee; border-left: 4px solid #2a7d2e; padding: 22px; border-radius: 3px; font-size: 17px; line-height: 1.5; }
.p3l-progresso { height: 4px; background: #e2e5e9; border-radius: 2px; overflow: hidden; margin-top: 12px; }
.p3l-progresso span { display: block; height: 100%; width: 40%; background: #1d5fa8; animation: p3l-anda 1.1s ease-in-out infinite; }
@keyframes p3l-anda { 0% { margin-left: -40%; } 100% { margin-left: 100%; } }
@media (max-width: 600px) { .p3l-linha { display: block; } .p3l-fieldset { padding: 14px; } }
