/* Base compartida para formularios PP (votación y participación) */
.hb-form {
	--hb-gold: #c7a76c;
	--hb-gold-700: #b39153;
	--hb-text: #2d2d2d;
	--hb-muted: #5c3327;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--hb-text);
}

/* Filas y grid simple */
.hb-row { margin: 10px 0; }

/* Campos */
.hb-field, .hb-select {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 2px solid var(--hb-gold);
	border-radius: 6px;
	background: #fff;
	color: var(--hb-text);
	line-height: 1.2;
	font-size: 15px;
	outline: none;
}
.hb-field:focus, .hb-select:focus { border-color: var(--hb-gold-700); box-shadow: 0 0 0 3px rgba(199,167,108,.18); }
.hb-field::placeholder { text-transform: uppercase; color: #9a9a9a; transition: opacity .2s ease; }
.hb-field:focus::placeholder { opacity: 0.3; }

/* Consentimientos */
.hb-row--consents { display: grid; grid-template-columns: 1fr; row-gap: 10px; margin: 16px 0; }
.hb-consent { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.4; color: var(--hb-text); text-transform: none; letter-spacing: 0; margin: 0; }
.hb-consent input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--hb-gold); }
.hb-consent::before, .hb-consent::after { content: none !important; display: none !important; }
.hb-consent i, .hb-consent svg { display: none !important; }

/* Mensajes */
.hb-error, .hb-success { margin: 12px 0; font-size: 14px; }
.hb-error { color: #b32d2e; }
.hb-success { color: #1d6f42; }

/* Errores de campo individual */
.hb-field--error { border-color: #b32d2e !important; }
.hb-field--error:focus { box-shadow: 0 0 0 3px rgba(179,45,46,.18) !important; }
.hb-field-error { color: #b32d2e; font-size: 12px; margin-top: 4px; }
.hb-consent .hb-field-error { margin-left: 28px; }

/* Botón genérico */
.hb-btn { background: var(--hb-gold); color: #fff; border: none; padding: 12px 24px; text-transform: uppercase; letter-spacing: .08em; border-radius: 4px; cursor: pointer; transition: background .2s ease, opacity .2s ease; }
.hb-btn:hover { background: var(--hb-gold-700); }
.hb-btn:disabled, .hb-btn.is-disabled { opacity: 0.5; cursor: not-allowed; }

/* Título dorado reutilizable */
.hb-title {
	color: var(--hb-gold);
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.08;
	margin: 6px 0 18px;
	text-align: center;
	font-size: clamp(24px, 4vw, 46px);
}
.hb-title span { display: inline-block; }


